我在查找有关此文档时遇到麻烦。
我有一个lxml.etree._ElementTree
类型的对象,正在尝试从中获取原始文本。
对象是通过执行以下操作生成的:
tree = etree.parse(content, parser=parser)
然后,当content
不再可用时,我需要在脚本中进一步访问原始内容。我想通过执行tree
的某些功能来获取该内容,但是我找不到与此有关的任何文档。
我发现对tostring
函数的引用,但这似乎是无效的函数。
有想法吗?
答案 0 :(得分:4)
tostring
不是树对象的方法,而是lxml.etree
库的方法。
所以尝试lxml.etree.tostring(tree)
。
请注意,这可能与原始文件不完全相同-应该解析为相同的XML,但是空格,换行符和其他格式可能会有所不同。同样,如果您对树进行了任何更改,显然它将与原始文件不匹配。
答案 1 :(得分:1)
tostring
是有效的函数,也许您使用不正确。这是一个完全包含的示例:
from lxml import etree
text = """
<?xml version="1.0" ?>
<people>
<person>
<id>1</id>
<name>Hal</name>
<notes>Hal likes chocolate</notes>
</person>
</people>"""
root = etree.fromstring(text)
etee.tostring(root)
# outputs the following
'<people>\n <person>\n <id>1</id>\n <name>Hal</name>\n <notes>Hal likes chocolate</notes>\n </person>\n</people>'