파이썬에서 XML 시트를 구문 분석하고 있습니다. XML의 구조는 다음과 같습니다.Python minidom : 요소에 액세스하는 방법
<layer1>
<layer2>
<element>
<info1></info1>
</element>
<element>
<info1></info1>
</element>
<element>
<info1></info1>
</element>
</layer2>
</layer1>
info2에서 데이터를 액세스하는 데 문제가 없습니다. 하지만 layer2에서는 정말 문제가 있습니다. 그들의 내가 ADRESS 수 인포 함께 : 그래서 내가 해결하는 방법입니다 root.firstChild.firstChild.childNodes[0].childNodes[0].data
: root.firstChild.childNodes[0].childNodes[0].data
는
그래서 내 생각이었다 나는 이런 식으로 비슷한 할 수있는 내 문제 :
tree = ET.parse("test.xml")
root = tree.getroot()
for elem in root.findall('./layer2/'):
for node in elem.findall('element/'):
x = node.find('info1').text
if x != "abc":
elem.remove(node)
당신이 * 대신 minidom을 사용하는 * 한 모든 이유 ElementTree API? 'root.findall의 컨텍스트 ('.// 요소 /') :.! 정보 = context.find ('인포') 텍스트 경우 정보 = A –