ElementTree에서 XML 네임스페이스 무시
ElementTree의 findall 및 find 메소드에는 네임스페이스가 포함된 XML 파일에서 요소를 찾을 때 네임스페이스 인식 접근 방식이 필요합니다. 그러나 많은 태그에 네임스페이스가 필요한 경우 이는 번거로울 수 있습니다.
Iterparse로 네임스페이스 무시
네임스페이스를 무시하려면 ElementTree의 iterparse 방법을 활용할 수 있습니다. 방법은 다음과 같습니다.
<code class="python">from io import StringIO # Python 2: import from StringIO instead import xml.etree.ElementTree as ET # Parse the XML file it = ET.iterparse(StringIO(xml)) # Strip namespace from tags for _, el in it: _, _, el.tag = el.tag.rpartition('}') # strip ns root = it.root</code>
이 접근 방식은 네임스페이스를 제거하여 태그 이름을 수정하므로 네임스페이스를 명시적으로 지정하지 않고도 요소를 더 쉽게 찾을 수 있습니다. 여기 토론에서 제안된 것처럼 이 기술은 여러 네임스페이스와 별칭을 처리하는 데 더 큰 유연성을 제공합니다.
위 내용은 ElementTree\의 findall 및 find 메소드를 사용할 때 XML 네임스페이스를 어떻게 무시할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!