如何更改已读入 Python 的 XML 的特定部分,然后使用此更改创建新的 XML?

问题描述 投票:0回答:1

所以我使用 BeautifulSoup 来读取和解析下面的 XML:

from bs4 import BeautifulSoup 
with open(r"....TestXML.xml", 'r') as f:
    data = f.read()
bs_data = BeautifulSoup(data, "xml")

在我的 XML 中,我有一行指出:

<Increase="0">1.75</Increase>

我想将这一行中的

1.75
更改为 2.5 并创建一个带有零的新 XML,但我不知道如何进行此操作。

代码

b_unique = bs_data.find_all('Increase') 
print(b_unique)

帮助我找到该行,但我不知道如何更改该行内的

1.75

如果您知道如何通过 beautifulsoup 或 element tree 来做到这一点,请随时分享

python xml beautifulsoup xml-parsing elementtree
1个回答
0
投票

您可以尝试下面的示例,首先,使用以下方法获取目标元素(增加) beautifulsoup对象然后修改其内容并将其保存到新文件中

from bs4 import BeautifulSoup

with open(r"....TestXML.xml", 'r') as f:
    data = f.read()
bs = BeautifulSoup(data, "xml")

element = bs.find("Increase")

element.string = "2.5"

new_xml_filename = "modified_test.xml"
with open(new_xml_filename, 'w') as new_file:
    new_file.write(str(bs))
© www.soinside.com 2019 - 2024. All rights reserved.