如何在xml文件python中找到父元素

时间:2014-04-16 11:50:41

标签: python xml

我正在寻找解决我在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

2 个答案:

答案 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,但仍然没有得到它...... 有人可以提供帮助吗?