使用 ElementTree,如何在 XML 声明下方和根元素上方放置注释?
我已经尝试过
root.append(comment)
,但这将评论作为root
的最后一个子项。我可以将评论附加到 root
的父级吗?
谢谢。
方法,通过lxml 在所需位置(XML 声明之后,根元素之前)添加注释。
from lxml import etree
root = etree.fromstring('<root><x>y</x></root>')
comment = etree.Comment('This is a comment')
root.addprevious(comment) # Add the comment as a preceding sibling
etree.ElementTree(root).write("out.xml",
pretty_print=True,
encoding="UTF-8",
xml_declaration=True)
结果(out.xml):
<?xml version='1.0' encoding='UTF-8'?>
<!--This is a comment-->
<root>
<x>y</x>
</root>
import xml.etree.ElementTree as ET
root = ET.fromstring('<root><e1><e2></e2></e1></root>')
comment = ET.Comment('Here is a Comment')
root.insert(0, comment)
ET.dump(root)
输出
<root><!--Here is a Comment--><e1><e2 /></e1></root>