我有我以前評論的一些元素一個XML文件中的所有意見,現在我想以取消他們..刪除在Python 3 lxml的
我有這樣的結構
<parent parId="22" attr="Alpha">
<!--<reg regId="1">
<cont>There is some content</cont><cont2 attr1="val">Another content</cont2>
</reg>
--></parent>
<parent parId="23" attr="Alpha">
<reg regId="1">
<cont>There is more content</cont><cont2 attr1="noval">Morecont</cont2>
</reg>
</parent>
<parent parId="24" attr="Alpha">
<!--<reg regId="1">
<cont>There is some content</cont><cont2 attr1="val">Another content</cont2>
</reg>
--></parent>
我想取消註釋文件的所有評論。因此,也是評論的因素,我會取消註釋。
我能找到的評論使用XPath的元素。這是我的代碼片段。
def unhide_element():
path = r'path_to_file\file.xml'
xml_parser = et.parse(path)
comments = root.xpath('//comment')
for c in comments:
print('Comment: ', c)
parent_comment = c.getparent()
parent_comment.replace(c,'')
tree = et.ElementTree(root)
tree.write(new_file)
但是,替換不工作,因爲它期望另一個元素。
我該如何解決這個問題?
大,這個工作。但是,我不知道爲什麼我的lxml版本不使用getroot()第一次不起作用。我無法直接在ElementTree中解析。 – TMikonos