我正在尝试使用ElementTree将元素添加到某些XML。
<device>
<general>
<item1>text</item1>
</general>
</device>
我想在一般情况下添加<item2>text</item2>
。
我尝试了
ElementTree.SubElement(xml, '/device/general/item2')
ElementTree.SubElement(xml, 'general/item2')
在其中添加字段,但都在XML的末尾添加了新行,而不是在现有的常规元素中添加了新行。
有什么想法我在做什么错吗?
答案 0 :(得分:1)
SubElement
的第二个参数必须是单个元素的名称;它不能是general/item2
之类的“路径”。获取对general
元素的引用,并向其中添加一个子元素。
from xml.etree import ElementTree as ET
tree = ET.parse("device.xml")
general = tree.find(".//general")
item2 = ET.SubElement(general, "item2")
item2.text = "text"