通过标签在FGDC XML中查找属性

时间:2018-10-29 22:52:41

标签: python xml

我有一个FGDC(联邦地理数据委员会)XML文档,如下例所示:

<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <eainfo>
    <detailed>
      <attr>
        <attrlabl>Field1</attrlabl>
        <attrdef>Some definition</attrdef>
        <attrdefs>producer defined</attrdefs>
        <attrdomv>
          <rdom>
            <rdommin>0</rdommin>
            <rdommax>100</rdommax>
            <attrunit>centimeters</attrunit>
          </rdom>
        </attrdomv>
      </attr>
      <attr>
        <attrlabl>Field2</attrlabl>
        <attrdef>Some other definition</attrdef>
        <attrdefs>producer defined</attrdefs>
        <attrdomv>
          <rdom>
            <rdommin>-10</rdommin>
            <rdommax>20</rdommax>
            <attrunit>centimeters</attrunit>
          </rdom>
        </attrdomv>
      </attr>
    </detailed>
  </eainfo>
</metadata>

我正在尝试编写一个Python脚本来根据数据值电子表格来编辑rdomminrdommax值。因此,例如,数据中的Field1的最小值只能为4,因此我需要将XML中该属性的rdommin从0更改为4。

如何在XML中搜索Field1?到目前为止,我已经尝试过类似的事情:

from xml.etree import ElementTree as ET
tree = ET.parse('some/metadata.xml')
root = tree.getroot()
x = root.find('./eainfo/detailed/attr/attrlabl') == "Field1"
x = root.findall('./eainfo/detailed/attr/[@attrlabl"Field1"]')

哪个返回False[]

0 个答案:

没有答案