使用python从xml获取特定文本

时间:2016-08-29 11:14:05

标签: python xml

我有一个XML字符串,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:geonode="http://www.geonode.org/" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" targetNamespace="http://www.geonode.org/">
  <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://localhost:8080/geoserver/schemas/gml/3.1.1/base/gml.xsd"/>
  <xsd:complexType name="test_24Type">
    <xsd:complexContent>
      <xsd:extension base="gml:AbstractFeatureType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="attribute_1" nillable="true" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="the_geom" nillable="true" type="gml:MultiLineStringPropertyType"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="test_24" substitutionGroup="gml:_Feature" type="geonode:test_24Type"/>
</xsd:schema>

我想要做的是使用Python来提取对应于xmlns的网址:geonode:

"http://www.geonode.org/"

我知道有这个库:从xml.etree导入cElementTree作为ET 但我不确定如何正确使用它来提取此元素的信息。

1 个答案:

答案 0 :(得分:0)

以下是使用xml.etree库和python 2.7从xml文件中提取数据的方法之一。 将xml文件名和标记名替换为代码中的相应位置。

import xml.etree.ElementTree as XT
dataTree = XT.parse('your_xml_file_name.xml')
dataRoot = dataTree.getroot()
geoNode = dataRoot.find('your_tag_name').text
print geoNode