나는 파이썬에서 xml.etree
을 사용하여 SOAP 응답을 구문 분석합니다 (요청하지 마십시오 ...). 응답에 <Success />
요소가 포함되어 있습니다.Python XML 요소가 발견되었지만 False로 평가됨 - 파이썬으로 존재를 확인하는 방법?
내가 가서 찾아서 xml.etree.ElementTree.Element
인스턴스를 얻으려면 my_element
으로 전화를 걸자.
__bool__()
를 확인할 것, 파이썬 2.7을 사용하여)
False
bool(my_element)
는my_element.__nonzero__()
이False
false 일에 인스턴스가 평가했다.
나는 my_element.text
비어 있기 때문에 <Success />
빈 XML 요소이기 때문에 즉, 가정합니다.
비어 있지만 기존 XML 요소의 의미가 다르다고 생각하더라도 비어있는 목록과 딕트가 비슷하게 동작하므로 비법을 사용한다고 가정합니다. 그곳에?
정말 다음과 같은가요?
from xml.etree.ElementTree import Element
...
if isinstance(my_element, Element):
당신 그것을 찾기 위해 사용하고 있습니다. 하지만 하나를 찾지 못하면 None을 반환합니다. 그래서 ... 만약 my_element가 None이 아니면 – clockwatcher
아마도'succeeded = myTree.find ('Success')가 None'이 아닙니다. 이상적으로 응답은 성공 요소가 항상 있고 참 또는 거짓으로 설정되도록 설계되어야합니다. –