如果特定XML结构通过,则筛选值

2024-09-20 05:38:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个看起来像这样的XML(有很多值):

<gml:interior>
    <gml:LinearRing>
      <gml:posList srsDimension="3" count="7">253602.645 593015.808 0.0 253603.97 593021.537 0.0 253611.953 593019.691 0.0 253609.047 593007.125 0.0 253603.484 593008.412 0.0 253605.065 593015.248 0.0 253602.645 593015.808 0.0</gml:posList>
    </gml:LinearRing>
  </gml:interior>
  <gml:exterior>
    <gml:LinearRing>
      <gml:posList srsDimension="3" count="9">253630.858 593000.326 0.0 253629.502 592994.829 0.0 253627.382 592995.352 0.0 253625.6 592988.13 0.0 253614.622 592990.839 0.0 253616.723 592999.355 0.0 253621.946 592998.067 0.0 253622.983 593002.269 0.0 253630.858 593000.326 0.0</gml:posList>
    </gml:LinearRing>
  </gml:exterior>

在python项目中,我获取“gml:posList”值并将其放入列表中:

from lxml import etree as ET

tree = ET.parse("/Users/Admin/jm.xml")
root = tree.getroot()
building_list=[]

# XML is using gml formatting
for a in root.findall('.//{http://www.opengis.net/gml}posList'):
    building_list.append([a.text])

building_list

我只希望“posList”值在“gml:external”括号内,而不是在“gml:interior”括号内。如何做到这一点


Tags: 项目treecountrootxmllistet括号