タグ内に含まれる特定のDOIの記事のXMLファイルを検索するコードを記述しようとしています。正しいDOIを見つけたら、そのDOIに関連する記事の<title>
と<abstract>
のテキストにアクセスします。XMLファイル内の特定のタグを見つけてPythonとミニドームでその親タグにアクセスする方法
私のXMLファイルは、この形式である:
<root>
<article>
<number>
0
</number>
<DOI>
10.1016/B978-0-12-381015-1.00004-6
</DOI>
<title>
The patagonian toothfish biology, ecology and fishery.
</title>
<abstract>
lots of abstract text
</abstract>
</article>
<article>
...All the article tags as shown above...
</article>
</root>
私は(例えば)DOI 10.1016/B978-0-12-381015-1.00004-6との記事を見つけるために、スクリプトを希望し、私には、対応する<article>
タグ内の<title>
と<abstract>
タグにアクセスできるようになりました。
from xml.dom import minidom
datasource = open('/Users/philgw/Dropbox/PW-Honours-Project/Code/processed.xml')
xmldoc = minidom.parse(datasource)
#looking for: 10.1016/B978-0-12-381015-1.00004-6
matchingNodes = [node for node in xmldoc.getElementsByTagName("DOI") if node.firstChild.nodeValue == '10.1016/B978-0-12-381015-1.00004-6']
for i in range(len(matchingNodes)):
DOI = str(matchingNodes[i])
print DOI
しかし、私は私がやっている全くわからない:
は、これまでのところ私はthis questionからコードを適応しようとしました!
ありがとうございました。
は、私は今それを参照してください[OK]、[OK]をその今更新...私はそれを更新し、matchingNodesで最初の親を探す必要があります。 – Jiri
ありがとうございましたJiri - これは有望ですが、現時点では私が試して試してみると出力が返ってこないのです。あなたの例にデータソース行を追加しましたが、何も印刷されていません。 – Phil
スクリプトを混乱させる空白に問題がありましたが、これは素晴らしいことです。ありがとうございます。 – Phil