2016-08-29 8 views
0

Ich habe eine XML-Zeichenfolge, die wie folgt aussieht:Erhalten Sie einen bestimmten Text aus XML mit Python

<?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> 

Was ich tun möchte, ist zu verwenden Python zu extrahieren, um die URL entsprechend xmlns: geonode:

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

ich weiß, es ist diese Bibliothek: von xml.etree Import celementtree als ET Aber ich bin nicht sicher, wie es, um richtig zu nutzen, um Informationen zu extrahieren, die auf diesem Element befindet.

Antwort

0

Das folgende ist eine der Möglichkeiten, Daten aus XML-Datei unter Verwendung von 2.7 xml.etree Bibliothek und Python zu extrahieren. Ersetzen Sie den Namen der XML-Datei und den Tag-Namen an den entsprechenden Stellen im Code.

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 
+0

Dank. Ich habe keine Datei, sondern eine Variable, in der der XML-String gespeichert ist. – user1919

+0

In diesem Fall können Sie den Variablennamen anstelle des Dateinamens verwenden. Bitte beachten Sie diese Antworten für weitere Lösungen: [link] (http://stackoverflow.com/questions/14153988/how-should-i-parse-this-xml-string-in-python) –

+1

Die Frage ist, über das Extrahieren ' http: // www.geonode.org/'von der' xmlns: geonode = "http://www.geonode.org/" -Namespace-Deklaration. Dieser Code tut das nicht. – mzjn

Verwandte Themen