Lxml:将xml文件的一部分作为字符串返回
我正在使用lxml解析我的xml文件,文件内容大致是这样的:
# some elements above
<contact>
<phonenumber>
#something
</phonenumber>
</contact>
我想只返回xml文件的一部分。
比如说,如果我在处理电话号码的部分,我希望lxml能把这个标签之间的所有内容作为一个字符串返回。
我并不想只返回电话号码标签之间的文本,而是想要整个字符串:
<phonenumebr>something</phonenumber>
这样做可以吗?
1 个回答
1
要打印XML树的一部分,你可以使用 lxml.etree.tostring
这个方法。在Python 2中可以这样做:
In [1]: from lxml.etree import tostring, parse
In [2]: tree = parse('test.xml')
In [3]: elem = tree.xpath('//phonenumber')[0]
In [4]: print tostring(elem)
<phonenumber>
something
</phonenumber>
想了解更多信息,你可以参考 lxml教程中的“序列化”部分。