タグ付けされた質問 「elementtree」

6
'ElementTree'を介してPythonで名前空間を持つXMLを解析する
Pythonを使用して解析したい次のXMLがあります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> すべてのowl:Classタグを検索して、タグrdfs:label内のすべてのインスタンスの値を抽出します。次のコードを使用しています。 tree = ET.parse("filename") root = tree.getroot() root.findall('owl:Class') 名前空間のため、次のエラーが発生します。 SyntaxError: prefix 'owl' not found in prefix map http://effbot.org/zone/element-namespaces.htmにあるドキュメントを読んでみましたが、上記のXMLには複数の名前空間がネストされているため、これを機能させることができません。 すべてのowl:Classタグを見つけるためにコードを変更する方法を教えてください。

9
Python ElementTreeモジュール:メソッド「find」、「findall」を使用するときに、XMLファイルの名前空間を無視して一致する要素を見つける方法
「findall」のメソッドを使用して、ElementTreeモジュールでソースxmlファイルのいくつかの要素を見つけたいと思います。 ただし、ソースxmlファイル(test.xml)には名前空間があります。サンプルとしてxmlファイルの一部を切り捨てます: <?xml version="1.0" encoding="iso-8859-1"?> <XML_HEADER xmlns="http://www.test.com"> <TYPE>Updates</TYPE> <DATE>9/26/2012 10:30:34 AM</DATE> <COPYRIGHT_NOTICE>All Rights Reserved.</COPYRIGHT_NOTICE> <LICENSE>newlicense.htm</LICENSE> <DEAL_LEVEL> <PAID_OFF>N</PAID_OFF> </DEAL_LEVEL> </XML_HEADER> サンプルのPythonコードは次のとおりです。 from xml.etree import ElementTree as ET tree = ET.parse(r"test.xml") el1 = tree.findall("DEAL_LEVEL/PAID_OFF") # Return None el2 = tree.findall("{http://www.test.com}DEAL_LEVEL/{http://www.test.com}PAID_OFF") # Return <Element '{http://www.test.com}DEAL_LEVEL/PAID_OFF' at 0xb78b90> 機能しますが、「{http://www.test.com}」という名前空間があるため、各タグの前に名前空間を追加するのは非常に不便です。 「find」、「findall」などのメソッドを使用する場合、ネームスペースをどのように無視できますか?

3
PythonElementTreeを文字列に変換する
を呼び出すたびにElementTree.tostring(e)、次のエラーメッセージが表示されます。 AttributeError: 'Element' object has no attribute 'getroot' ElementTreeオブジェクトをXML文字列に変換する他の方法はありますか? TraceBack: Traceback (most recent call last): File "Development/Python/REObjectSort/REObjectResolver.py", line 145, in <module> cm = integrateDataWithCsv(cm, csvm) File "Development/Python/REObjectSort/REObjectResolver.py", line 137, in integrateDataWithCsv xmlstr = ElementTree.tostring(et.getroot(),encoding='utf8',method='xml') AttributeError: 'Element' object has no attribute 'getroot'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.