python - 如何通过python3改变xml中元素属性的值

标签 python xml python-3.6

我有一个 .xml 文件,我想从 python 代码更改我的纬度和经度值...所以请告诉我如何做到这一点。

<Coordinate latitude="12.934158" longitude="77.609316"/>
<Coordinate latitude="12.934796" longitude="77.609852"/>
doc = xml.dom.minidom.parse(verify_win.filename)

        root = doc.getroot()
        coordi = root.find('Coordinate')
        coordi.set('longitude',self.longitude[0])

# in this self.longitude[0] is a new value which i want to update in a .xml file

最佳答案

您的 xml 无效。 coordi.set('longitude',self.longitude[0]) 是更改属性的正确方法。

import xml.etree.ElementTree as ET

xml = """<?xml version="1.0" encoding="UTF-8"?><body>
    <Coordinate latitude="12.934158" longitude="77.609316"/>
    <Coordinate latitude="12.934796" longitude="77.609852"/></body>"""

tree = ET.fromstring(xml)
elem = tree.find('Coordinate')
elem.set("longitude", "228")

print(ET.tostring(tree))

打印:

<body>
<Coordinate latitude="12.934158" longitude="228" />
<Coordinate latitude="12.934796" longitude="77.609852" />
</body>

因此,您所需要的只是迭代每个坐标元素并更改这两个属性。

关于python - 如何通过python3改变xml中元素属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57668627/

相关文章:

python - 如何在 ModelForm 中使用 forms.ChoiceField()?

javascript - 如何将 JSON 数据转换为 XML?

debian - 无法使用python3.6 pip安装pyldap

python - 是否可以使用 Pool.map() 让多个进程写入同一个字典?

python - 断线访问字典的正确方法

python - 为什么 logging.setLevel() 在这里对 Python 没有影响?

python - 如何在 google colab 上安装 pydot 和 graphviz?

c# 序列化嵌套类

java - CXF 编码嵌入 XML

python - 类和实例上的描述符行为差异