在XML python中解析子元素

维基维基

我有一个类似的XML代码:

<?xml version='1.0' encoding="UTF-8"?>
<coureurs>
<coureur>
<nom>Patrick</nom><hair>Inexistants</hair>
</coureur>


</coureurs>                                                                                  

我想打印:

  Patrick inexistents
      Etc...

For now my code is :
from lxml import etree
tree = etree.parse(file.xml)
for coureur in tree.xpath("/coureurs/coureur/nom"):
print(user.text)

但是,当我这样做时,它返回空白:对于tree.xpath(“ / coureurs / coureur / hair”)中的用户:它仅返回头发。我应该怎么办?

阿南德·库玛(Anand S Kumar)

我仍然无法通过您提供的xml和代码重现该问题。但是似乎您已经遗漏了很多xml,并且XPATH如果coureurs不是xml(或其直接子级)的直接根目录,则可能对您不起作用。

在这种情况下,您可以使用以下XPATH获取coureurxml中的每个节点(即coureurs节点的子节点)-

//coureurs/coureur

这将为您提供<coureur>xml中的所有标记元素,然后对其进行迭代以打印其子文本。示例代码-

for user in tree.xpath('//coureurs/coureur'):
    for child in user:
        print(child.text,end=" ")
    print()

示例/演示-

In [26]: s = """<?xml version='1.0' encoding="UTF-8"?>
   ....: <coureurs>
   ....: <coureur>
   ....: <nom>Patrick</nom><hair>Inexistants</hair>
   ....: </coureur>
   ....: </coureurs>"""

In [28]: tree = etree.fromstring(s.encode())

In [35]: for user in tree.xpath('//coureurs/coureur'):
   ....:     for child in user:
   ....:         print(child.text,end=" ")
   ....:     print()
   ....:
Patrick Inexistants

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按属性解析子元素(XML,Python)

来自分类Dev

使用python删除XML中的子元素

来自分类Dev

在Python lxml中访问子XML元素

来自分类Dev

Python循环以遍历XML中的元素并获取子元素值

来自分类Dev

使用LINQ解析XML以获取子元素

来自分类Dev

如何在Coldfusion中解析每个XML元素/ XML子级

来自分类Dev

XML子元素中的变量

来自分类Dev

在Python中解析XML时访问元素的值

来自分类Dev

使用Python解析xml文件中的特定元素

来自分类Dev

在python中解析XML

来自分类Dev

在Python中解析XML

来自分类Dev

用列表python中的值替换xml子元素文本

来自分类Dev

python lxml - 如何在 XML 中获取子元素的值

来自分类Dev

向 XML 文件 Python 中的子元素添加索引

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

Python XML 按顺序解析子标签

来自分类Dev

将xml元素解析为Python列表

来自分类Dev

使用元素树解析XML(Python)

来自分类Dev

使用元素名称中的空格解析XML

来自分类Dev

使用jaxb解析xml中的嵌套元素

来自分类Dev

在R中解析xml文件及其元素

来自分类Dev

XML解析,iOS中的联接元素

来自分类Dev

解析javascript / jq中的XML元素

来自分类Dev

如何从 C# 中的 Xml 解析元素?

来自分类Dev

PHP 函数正确解析包含数组中每一项的一个子元素的 XML 元素

来自分类Dev

通过python中的xml解析

来自分类Dev

在python中解析嵌套的xml

来自分类Dev

通过python中的xml解析

来自分类Dev

在 Python 中解析嵌套的 XML?