使用 ElementTree 添加一个元素到 XML
Adding an element to XML with ElementTree
我正在尝试使用 ElementTree 向某些 XML 添加元素。
<device>
<general>
<item1>text</item1>
</general>
</device>
我想在通用下添加<item2>text</item2>
。
我试过了
ElementTree.SubElement(xml, '/device/general/item2')
ElementTree.SubElement(xml, 'general/item2')
添加字段,但都在 XML 的末尾添加了新行,而不是在现有的常规元素中添加。
知道我做错了什么吗?
SubElement
的第二个参数必须是单个元素的名称;它不能是像 general/item2
这样的 "path"。获取对 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"
我正在尝试使用 ElementTree 向某些 XML 添加元素。
<device>
<general>
<item1>text</item1>
</general>
</device>
我想在通用下添加<item2>text</item2>
。
我试过了
ElementTree.SubElement(xml, '/device/general/item2')
ElementTree.SubElement(xml, 'general/item2')
添加字段,但都在 XML 的末尾添加了新行,而不是在现有的常规元素中添加。
知道我做错了什么吗?
SubElement
的第二个参数必须是单个元素的名称;它不能是像 general/item2
这样的 "path"。获取对 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"