태그에 포함 된 특정 DOI에 대한 기사의 XML 파일을 검색하는 코드를 작성하려고합니다. 올바른 DOI를 찾았 으면 DOI와 관련된 기사의 <title>
및 <abstract>
텍스트에 액세스하고 싶습니다. 나는 DOI 10.1016/B978-0-12-381015-1.00004-6 (예를 들어)와 함께 기사를 찾을 수있는 스크립트를 싶습니다XML 파일에서 특정 태그를 찾은 다음 Python과 minidom을 사용하여 상위 태그에 액세스하는 방법
<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>
:
내 XML 파일은 다음 형식으로되어 있습니다 그러면 해당 <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에서 코드를 적응하기 위해 노력했습니다!
도움 주셔서 감사합니다.
내가 지금보고 좋아, 당신은 확인의 지금 업데이트 ... 나는 그것을 업데이트는 matchingNodes에서 첫 번째 부모를 조회 할 필요가있다. – Jiri
감사합니다 Jiri - 이것은 유망 해 보입니다 만, 현재 시도하고 테스트 할 때 출력이 반환되지 않습니다. 귀하의 예제에 데이터 소스 라인을 추가했지만 아무것도 인쇄되지 않습니다. – Phil
스크립트를 혼란스럽게하는 공백 문제가있었습니다. – Phil