我有一个看起来像这样的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:exterior”括号内,而不希望它们位于“ gml:interior”中。该怎么办?
答案 0 :(得分:1)
您可以改用以下XPath:
.//{http://www.opengis.net/gml}exterior//{http://www.opengis.net/gml}posList