获取 lxml.objectify 条评论的内容
Getting contents of an lxml.objectify comment
我有一个 XML 文件,我正在使用 python 的 lxml.objectify
库读取它。
我找不到获取 XML 评论内容的方法:
<data>
<!--Contents 1-->
<some_empty_tag/>
<!--Contents 2-->
</data>
我可以检索评论(有更好的方法吗?xml.comment[1]
好像不行):
xml = objectify.parse(the_xml_file).getroot()
for c in xml.iterchildren(tag=etree.Comment):
print c.???? # how do i print the contets of the comment?
# print c.text # does not work
# print str(c) # also does not work
正确的方法是什么?
您只需将子项转换回字符串即可提取评论,如下所示:
In [1]: from lxml import etree, objectify
In [2]: tree = objectify.fromstring("""<data>
...: <!--Contents 1-->
...: <some_empty_tag/>
...: <!--Contents 2-->
...: </data>""")
In [3]: for node in tree.iterchildren(etree.Comment):
...: print(etree.tostring(node))
...:
b'<!--Contents 1-->'
b'<!--Contents 2-->'
当然,您可能想去掉不需要的包装。
我有一个 XML 文件,我正在使用 python 的 lxml.objectify
库读取它。
我找不到获取 XML 评论内容的方法:
<data>
<!--Contents 1-->
<some_empty_tag/>
<!--Contents 2-->
</data>
我可以检索评论(有更好的方法吗?xml.comment[1]
好像不行):
xml = objectify.parse(the_xml_file).getroot()
for c in xml.iterchildren(tag=etree.Comment):
print c.???? # how do i print the contets of the comment?
# print c.text # does not work
# print str(c) # also does not work
正确的方法是什么?
您只需将子项转换回字符串即可提取评论,如下所示:
In [1]: from lxml import etree, objectify
In [2]: tree = objectify.fromstring("""<data>
...: <!--Contents 1-->
...: <some_empty_tag/>
...: <!--Contents 2-->
...: </data>""")
In [3]: for node in tree.iterchildren(etree.Comment):
...: print(etree.tostring(node))
...:
b'<!--Contents 1-->'
b'<!--Contents 2-->'
当然,您可能想去掉不需要的包装。