8
"XML"의 tostring 메서드를 사용하여 XML 형식의 "예쁜"버전을 문자열로 사용하려고합니다.tostring의 pretty_print 옵션이 lxml에서 작동하지 않습니다.
>>> import lxml.etree as etree
>>> root = etree.Element("root")
>>> print(root.tag)
root
>>> root.append(etree.Element("child1"))
>>> child2 = etree.SubElement(root, "child2")
>>> child3 = etree.SubElement(root, "child3")
>>> print(etree.tostring(root, pretty_print=True))
<root>
<child1/>
<child2/>
<child3/>
</root>
그러나 그 정확한 라인을 실행하는 내 출력이됩니다 :
b'<root>\n <child1/>\n <child2/>\n <child3/>\n</root>\n'
가 I
를 설치 한 LXML의 버전에 버그가있는 lxml이 사이트에있는 예제는이 예를 보여줍니다? 튜토리얼의 단어 예제 단어가 이상하지 않은 것 같습니다.
에 대한 자세한 내용은 다음과 같습니다. 이 문서의 오류일까요? 파이썬에서 무언가가 변경되어 이전에 없었던 인코딩을 지정 했습니까? – lanteau
@lanteau 솔직히 나는 모른다. 'lxml'을 많이 사용하지는 않지만'lxml' 문서의 또 다른 섹션은'method = 'text'' 플래그가 주어 졌을 때'bytes' 객체를 반환하는'etree.tostring'을 보여줍니다. 그래서 아마도 새로운 버전의'lxml'에 디폴트가 있습니까? –
pip에있는 최신 릴리스 'lxml == 3.5.0'에서 수정되지 않았습니다. –