0
저는 XML과 ElementTree 클래스로 작업해야합니다.다른 XML 태그의 값을 기반으로 XML 태그 값을 얻으려면 어떻게해야합니까?
<workItem>
<stringExtensions>
<key>key1</key>
<value>value1</value>
</stringExtensions>
<stringExtensions>
<key>key2</key>
<value>value2</value>
</stringExtensions>
<stringExtensions>
<key>key3</key>
<value>value3</value>
</stringExtensions>
</workItem>
내가 뭘하고 싶은 것은 값 "값 1"과 "VALUE3"(안 "값 2")를 인쇄 할 수있다 : 나는 다음과 같은 XML 구조를 가지고있다. 이렇게하려면 키 태그 값 "key1"및 "key3"을 필터링하는 방법이 필요합니다. 현재 코드 :
root = ElementTree.fromstring(r.content)
for entry in root.findall("workItem"):
print(entry.find("stringExtensions").find("value").text)
은 XML 구조의 첫 번째 결과 만 반환하기 때문에 "value1"이 출력됩니다. "key"태그 값과 특정 "value"태그 값을 기반으로 지정할 수 있도록 인쇄 전에 "where"조건을 추가해야합니다.
도움이 될 것입니다.
감사
앤드류
왜 'key2' 규칙을 건너 뛰겠습니까? – RomanPerekhrest
파이썬에서 무언가를 체크하기 위해 언제나 표준'if'를 사용할 수 있습니다. – furas
@RomanPerekhrest key2는 key2 또는 key1 또는 key3이 아니기 때문에 생략해야합니다. 나는 모호한 것처럼 들리지만, key1과 key2의 "value"태그 값에만 관심이 있습니다. – Andrew