Lxml:将一部分xml文件作为字符串返回

时间:2014-06-27 21:58:22

标签: python xml xml-parsing lxml

我正在使用lxml解析器解析我的xml文件,如下所示:

    # some elements above
    <contact>
       <phonenumber>
            #something
       </phonenumber>
    </contact>

我希望只能返回xml文件的一部分。

喜欢假设如果我在使用phonenumber,我希望lxml以字符串形式返回所有内容。

我不想返回textb / w phonenumber但是整个字符串:

    <phonenumebr>something</phonenumber>

有可能吗?

1 个答案:

答案 0 :(得分:0)

要打印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>

有关详细信息,请参阅"Serialisation" section of the lxml tutorial.