Python 如何从XML元素更改注释

Python 如何从XML元素更改注释,python,xml,lxml,Python,Xml,Lxml,我有一个XML文件,在元素下有一个注释。是否有任何方法可以使用lxml删除注释 <TEST name="1"> <!-- test values: 1, 2, 3--> <file name="test1.py" /> </TEST > <RESULT name="r1" value="false"> <!-- result values: true, false--> </RESULT >

我有一个XML文件,在元素下有一个注释。是否有任何方法可以使用lxml删除注释

<TEST name="1">
  <!--  test values: 1, 2, 3-->
  <file name="test1.py" /> 
</TEST >
<RESULT name="r1" value="false">
  <!--  result values: true, false-->
</RESULT >
我想将元素测试下的注释更改为:

<TEST name="1">
  <!--  test values: 1, 2, 3, 4, 5-->
  <file name="test1.py" /> 
</TEST >
<RESULT name="r1" value="false">
  <!--  result values: true, false-->
</RESULT >
谢谢

输出:

from lxml import etree

html = '''
<root>
<TEST name="1">
  <!--  test values: 1, 2, 3-->
  <file name="test1.py" /> 
</TEST >
<RESULT name="r1" value="false">
  <!--  result values: true, false-->
</RESULT >
</root>'''

r = etree.fromstring(html)
comments = r.xpath(r'//comment()')
for c in comments:
    p = c.getparent()
    p.remove(c)
print (etree.tostring(r))
b'<root>\n<TEST name="1">\n  <file name="test1.py"/> \n</TEST>\n<RESULT name="r1" value="false">\n  </RESULT>\n</root>'
import lxml.etree as et

xml = '''
<head>
<TEST name="1">
  <!--  test values: 1, 2, 3-->
  <file name="test1.py" />
</TEST >
<RESULT name="r1" value="false">
  <!--  result values: true, false-->
</RESULT >
</head>
'''

tree=et.fromstring(xml)

for bad in tree.xpath("//head/TEST/comment()"):
    bad.text += ', 4, 5'

print(et.tostring(tree, pretty_print=True))