Python new을 처음 접했을 때 반복되는 질문이나 기본 질문 인 경우 유감입니다. Daniel과 George의 태그 값을 "추출"할 수 있도록 다음 XML 명령을 구문 분석하려고합니다. Daniel = 78, George = 90처럼 보이기를 원합니다.비슷한 태그와 다른 속성을 가진 XML 파일을 구문 분석하십시오!
<epas:property name="Tom">12</epas:property>
<epas:property name="Alice">34</epas:property>
<epas:property name="John">56</epas:property>
<epas:property name="Danial">78</epas:property>
<epas:property name="George">90</epas:property>
<epas:property name="Luise">11</epas:property>
xml 명령은 하나의 문자열에 저장됩니다. 그래서 여기 즉 mystring에 내가이 문자열 (mystring에) 구문 분석을 시도 코드의 첫 번째 부분입니다 :
element = xml.dom.minidom.parseString(myString).getElementByTagName ("epas:property")
if not element:
print "error message"
else:
for el in element:
value [el.getAttribute("name")] = el.firstChild.data
내가 값을 얻기 위해 배열 인덱스에 다니엘과 조지을 참조하기 위해 노력을하지만 난 아니라고 본다 올바르게하는 것. 나는 이것에 대한 당신의 아이디어/의견을 고맙게 생각합니다. 건배, 빌
그것 때문에 코드 형식으로 XML과 파이썬 코드를 넣어 : ElementTree와
가이 같은 뭔가 올바르게 표시됩니다. –
오류가 발생합니까? .getElementByTagName을 .getElementsByTagName으로 수정하고 네임 스페이스가 선언 된 루트 요소에 해당 xml 조각을 래핑하면 나머지는 작동합니다. 그렇지 않으면 오류 메시지가 나타납니다. –
질문에 표시된 내용을 그대로 구문 분석하려는 XML입니까? 그렇다면 유효한 XML이 아닙니다. 속성 항목을 포함하려면 루트 요소가 있어야합니다. 그게 당신 문제의 원인이 될 수 있습니다. –