如何使用python修改XML节点的内容?

时间:2019-02-17 10:05:21

标签: python xml python-3.x

我有一个简单的问题,我想使用python更新/修改xml节点的内容。我正在使用python 3.6版本。

我想编写一个python脚本,它将状态节点的内容修改为“开”,而directoryName节点的修改为“用户/

 <main>
        <status>off</status>

        <directoryName>nothing</directoryName>

 </main>

3 个答案:

答案 0 :(得分:0)

我得到了答案。我忘了写完

 xmlHandler = "System_Settings/System_controller.xml"

    xmlDom=ElementTree.parse(xmlHandler)

    xmlDom.find("status").text = "on"
    print(xmlDom.find("status").text)

    xmlDom.write(xmlHandler)

答案 1 :(得分:0)

如果您有能力安装其他软件包,请查看BeautifulSoup。它使解析html和xml非常简单。

import bs4
xml = """
<main>
    <status>off</status>
    <directoryName>nothing</directoryName>
</main>"""
soup = bs4.BeautifulSoup(xml, "xml")
soup.status.string="on"
print(soup.prettify())

答案 2 :(得分:0)

使用lxml库(BeautifulSoup也使用):

10.97

然后使用from lxml import etree node = etree.XML(""" <main> <status>off</status> <directoryName>nothing</directoryName> </main>""") status = "On" status_node = node.xpath("/main/status")[0] status_node.text = status ,您将得到:

print(etree.tounicode(node))