使用相同的键和属性名解析XML

时间:2016-01-27 19:26:16

标签: python xml python-3.x elementtree zoho

我正在使用一个API,它使用相同的<FL>键输出所有XML,并使用相同的属性名称:

<response uri="/webaddress/">
  <result>
    <Quotes>
      <row no="1">
        <FL val="ID">12345</FL>
        <FL val="Number">
          <![CDATA[ 12346 ]]>
        </FL>
        <FL val="Subject">
          <![CDATA[ Test ]]>
        </FL>
        <FL val="Stage">
          <![CDATA[ Draft ]]>
        </FL>
        <FL val="Valid Till">
          <![CDATA[ 2016-01-23 ]]>
        </FL>
        <FL val="CONTACTID">12121</FL>

我确信我仍然可以使用它,但我很新,我很难找到适用的任何例子。我正在使用xml.etree在Python 3.5中工作,但我并不关心我正在使用的库。

有人可以提供一个示例,说明如何从给定特定名称 - 值属性对的元素中获取内容,即将“12345”或“12346”存储为变量吗?

1 个答案:

答案 0 :(得分:0)

documentation给出了一些例子和解释。例如:

import xml.etree.ElementTree as ET
tree = ET.parse('data.xml')
root = tree.getroot()

for fl in root.iter('FL'):
    val = fl.attrib['val']
    text = fl.text.strip()
    print("The %s is %s" % (val, text))