如何查看lxml元素的文本表示?

Geo*_*Geo 20 python xml lxml

如果我使用lxml解析XML文档,是否可以查看元素的文本表示?我试着这样做:

print repr(node)
Run Code Online (Sandbox Code Playgroud)

但是这个输出

<Element obj at b743c0>
Run Code Online (Sandbox Code Playgroud)

我可以使用什么来查看XML文件中存在的节点?有to_xml什么方法或什么?

Jef*_*ber 40

来自http://lxml.de/tutorial.html#serialisation

>>> root = etree.XML('<root><a><b/></a></root>')

>>> etree.tostring(root)
b'<root><a><b/></a></root>'

>>> print(etree.tostring(root, xml_declaration=True))
<?xml version='1.0' encoding='ASCII'?>
<root><a><b/></a></root>

>>> print(etree.tostring(root, encoding='iso-8859-1'))
<?xml version='1.0' encoding='iso-8859-1'?>
<root><a><b/></a></root>

>>> print(etree.tostring(root, pretty_print=True))
<root>
  <a>
    <b/>
  </a>
</root>
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢!这让我发疯:D (2认同)
  • 在Python 3中,如果您从“字节”中进行“解码”,则看起来会更好:`print(etree.tostring(root,pretty_print = True).decode()))。 (2认同)