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

30 投票
1 回答
24577 浏览
提问于 2025-04-15 15:04

如果我在用lxml解析一个XML文档,有没有办法查看某个元素的文本表示?

我试着这样做:

print repr(node)

但是这输出的是

<Element obj at b743c0>

我可以用什么方法来查看这个节点,就像它在XML文件中存在的样子?有没有什么 to_xml 方法之类的?

1 个回答

50

来自 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>

撰写回答