通过python注释了一个xml节点

时间:2017-05-29 12:34:00

标签: python xml python-2.7 elementtree

我的xml文件看起来像这样

<Configuration>
....
...
  <Toolkit name="Logging">
    <Logger>
     ...
     ...
    </Logger>
  </Toolkit>

</Configuration>

我想将其转换为 -

<Configuration>
....
...
  <!--<Toolkit name="Logging">
    <Logger>
     ...
     ...
    </Logger>
  </Toolkit>-->

</Configuration>

通过python。

P.S。 1)我尝试了re但未能做到这一点。也许我不知道如何正确使用它 2)Toolkit中可能有多个xml

1 个答案:

答案 0 :(得分:2)

尝试bs4

来自bs4 import BeautifulSoup,评论

div_test='<Configuration>\
  <Toolkit name="Logging">\
    <Logger>\
    </Logger>\
  </Toolkit>\
  <Toolkit name="Logging1">\
    <Logger>\
    </Logger>\
  </Toolkit>\
</Configuration>'
soup = BeautifulSoup(div_test, "xml")
el = soup.find('Toolkit',{'name':'Logging'})
el.replace_with(Comment(str(el)))
print(soup.prettify())

输出:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
 <!--<Toolkit name="Logging"> <Logger> </Logger> </Toolkit>-->
 <Toolkit name="Logging1">
  <Logger>
  </Logger>
 </Toolkit>
</Configuration>