0
iterparse를 사용하여 xml 문서를 구문 분석합니다.Iterparse는 xml을 기본 네임 스페이스로 구문 분석 할 때 빈 iterable을 반환합니다.
from lxml import etree
import tempfile
content = """<root xmlns="blah.com">
<foo>
<attribute id="3" />
</foo>
<foo>
<structure>
<baz>
<x>g</x>
</baz>
</structure>
</foo>
</root>"""
src_file = tempfile.NamedTemporaryFile()
src_file.write(content)
src_file.flush()
context = etree.iterparse(
src_file.name,
events=("end",),
tag="foo",
)
for event, element in context:
print event
print element
- 예상 결과 : 나는 네임 스페이스를 제거하면
- : 아무것도 내가 시도
몇 가지 변화가 없습니다 : 나는 몇
end
이벤트가 - 실제 결과보고 XML, 잘 작동합니다.
- 접두어가
xlmns:t="blah.com"
인 네임 스페이스를 사용하면 잘 작동합니다. tag="foo"
을 제거하면 정상적으로 작동합니다.
그러나 기본 태그와 기본 네임 스페이스를 모두 사용하고 싶습니다. iterparse 버그인가요? 내가 뭔가 잘못하고 있는거야?
편집 : 코드를 수정하여 ident 오류없이 복사하여 붙여 넣을 수 있도록합니다.
감사합니다. 그거야. –