使用Python更改XML中的值 A. 一个 B 两个 C 三
我必须使用python脚本将值1、2和3替换为其他数字。请建议操作XML文档需要做什么,您可以使用使用Python更改XML中的值 A. 一个 B 两个 C 三,python,xml,Python,Xml,我必须使用python脚本将值1、2和3替换为其他数字。请建议操作XML文档需要做什么,您可以使用BeautifulSoup包。例如: <inboundContextData> <items> <item> <key>a</key> <value>One</value> </item> <item> <key&
BeautifulSoup
包。例如:
<inboundContextData>
<items>
<item>
<key>a</key>
<value>One</value>
</item>
<item>
<key>b</key>
<value>Two</value>
</item>
<item>
<key>c</key>
<value>Three</value>
</item>
</items>
</inboundContextData>
data=”“”
A.
一个
B
两个
C
三
"""
从bs4导入BeautifulSoup
soup=BeautifulSoup(数据'xml')
我的新值='XXX'
用于汤中的值。选择('items>item>value'):
value.clear()
value.append(我的新值)
打印(soup.prettify())
输出:
data = """
<inboundContextData>
<items>
<item>
<key>a</key>
<value>One</value>
</item>
<item>
<key>b</key>
<value>Two</value>
</item>
<item>
<key>c</key>
<value>Three</value>
</item>
</items>"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'xml')
my_new_value = 'XXX'
for value in soup.select('items > item > value'):
value.clear()
value.append(my_new_value)
print(soup.prettify())
A.
XXX
B
XXX
C
XXX
使用ElementTree
演示:
<?xml version="1.0" encoding="utf-8"?>
<inboundContextData>
<items>
<item>
<key>
a
</key>
<value>
XXX
</value>
</item>
<item>
<key>
b
</key>
<value>
XXX
</value>
</item>
<item>
<key>
c
</key>
<value>
XXX
</value>
</item>
</items>
</inboundContextData>
import xml.etree.ElementTree
et = xml.etree.ElementTree.parse(filename)
root = et.getroot()
for i in root.findall("item"):
i.find("value").text = "NewNumber"
et.write(filename)
输出:
<?xml version="1.0" encoding="utf-8"?>
<inboundContextData>
<items>
<item>
<key>
a
</key>
<value>
XXX
</value>
</item>
<item>
<key>
b
</key>
<value>
XXX
</value>
</item>
<item>
<key>
c
</key>
<value>
XXX
</value>
</item>
</items>
</inboundContextData>
import xml.etree.ElementTree
et = xml.etree.ElementTree.parse(filename)
root = et.getroot()
for i in root.findall("item"):
i.find("value").text = "NewNumber"
et.write(filename)
A.
新号码
B
新号码
C
新号码
您可以使用元素树
。有了它,您可以将xml加载到一个多维列表中,从中可以按层次访问元素。例如,从根xml开始,您可以看到:
<items>
<item>
<key>a</key>
<value>NewNumber</value>
</item>
<item>
<key>b</key>
<value>NewNumber</value>
</item>
<item>
<key>c</key>
<value>NewNumber</value>
</item>
</items>
可能与此重复:问题被标记为“python”,但没有python代码。请花点时间研究这个问题。你肯定自己也试过吗?