我正在寻找解决我在python中与XML相关的问题。 我有一个xml文件
-<Group name="OptionalObjects">
-<Array name="Pre-defined Error Field">
<Index>4099</Index>
<ObjectType>8</ObjectType>
-<Variable name="Number of Errors">
<Index>4099</Index>
<Subindex>0</Subindex>
<DataType>5</DataType>
<AccessType>2</AccessType>
<ObjectType>7</ObjectType>
<DefaultValue>1</DefaultValue>
<PDOMapping>0</PDOMapping>
</Variable>
+<Variable name="Standard Error Field">
</Array>
这只是孔代码的一部分。 我必须在整个密码中搜索特定的索引,并且该程序必须打印出该索引的父母,并且该父项的所有子项包括索引(索引,子索引,数据类型...... PDOMapping)。 拜托我,因为我完全失去了。我正在尝试for循环,但没有更多的东西。 TNX
答案 0 :(得分:0)
解析xml是一个相对标准的问题,你可以看一下:https://docs.python.org/2/library/xml.etree.elementtree.html
或者,BeautifulSoup是一个很好的解析html和xml的库: http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html
在上一个问题中有关BeautifulSoup的更多信息: Python BeautifulSoup XML Parsing
答案 1 :(得分:0)
...谢谢
解析xml我使用recurse becous更好
import xml.etree.ElementTree as etree
tree = etree.parse('asd.xml')
root = tree.getroot()
def recurse_children(node):
for children in node:
if len(children) > 0:
recurse_children(children)
print children.tag, children.attrib, children.text
print ('\n')
for child in root:
recurse_children(child)
我从昨天开始看这个BeautifulSoup,但仍然没有得到它...... 有人可以提供帮助吗?