Ich habe das folgende XML, das ich mit Pythons analysieren möchte ElementTree
:
<rdf:RDF xml:base="http://dbpedia.org/ontology/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns="http://dbpedia.org/ontology/">
<owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague">
<rdfs:label xml:lang="en">basketball league</rdfs:label>
<rdfs:comment xml:lang="en">
a group of sports teams that compete against each other
in Basketball
</rdfs:comment>
</owl:Class>
</rdf:RDF>
Ich möchte alle owl:Class
Tags finden und dann den Wert aller darin enthaltenen rdfs:label
Instanzen extrahieren . Ich verwende den folgenden Code:
tree = ET.parse("filename")
root = tree.getroot()
root.findall('owl:Class')
Aufgrund des Namespace wird der folgende Fehler angezeigt.
SyntaxError: prefix 'owl' not found in prefix map
Ich habe versucht, das Dokument unter http://effbot.org/zone/element-namespaces.htm zu lesen, aber ich kann dies immer noch nicht zum Laufen bringen, da das obige XML mehrere verschachtelte Namespaces hat.
Bitte lassen Sie mich wissen, wie Sie den Code ändern können, um alle owl:Class
Tags zu finden .