this thread에 따라 매우 기본적인 XML 트래버 싱 (읽기 전용)을 수행하기 위해 xml.dom.minidom
을 사용하고 있습니다.Python에서 minidom을 사용하여 XML 요소를 찾는 특정 경로 지정
나를 혼란스럽게하는 이유는 정확히 getElementsByTagName
이 정확한 경로를 명시 적으로 제공하지 않고 여러 계층 수준의 노드를 찾고 있기 때문입니다.
XML :
<data>
<items>
<item name="item1"></item>
<item name="item2"></item>
<item name="item3"></item>
<item name="item4"></item>
</items>
<secondSetOfItems>
<item name="item5"></item>
<item name="item6"></item>
<item name="item7"></item>
<item name="item8"></item>
</secondSetOfItems>
</data>
파이썬 코드 :
xmldoc = minidom.parse('sampleXML.xml')
items = xmldoc.getElementsByTagName('item')
for item in items:
print item.attributes['name'].value
인쇄 : 날 귀찮게 무엇
item1
item2
item3
item4
item5
item6
item7
item8
이 암시 적으로 모두 data->items
에서 item
라는 이름의 태그뿐만 아니라 data->secondSetOfItems
을 발견 한 것입니다 .
명시적인 경로를 따르고 두 범주 중 하나에서 항목 만 추출하려면 어떻게해야합니까? 예 : data->secondSetOfItems
아래 :
item5
item6
item7
item8
큰 감사를드립니다. 한 가지 더 질문 : item 태그'item name = "item8"> XYZ'안에 값이 있다고 가정 해보십시오. 어떻게 XYZ를 읽겠습니까? 나는'item.nodeValue'를 noohail – amphibient
nvrmnd로 시도했지만, item.childNodes [0] .nodeValue이어야합니다. – amphibient