我对Python很陌生。我需要修改现有的XML文件\
<root>
<child1></child1>
<child2></child2>
</root>
我需要补充一下 在child2之后。内容将来自newchild的文本文件 对于Eg: thiscamefromtextfile
脚本
之后 <root>
<child1></child1>
<child2></child2>
<newchild>thiscamefromtextfile</newchild>
</root>
我该怎么做? 感谢
答案 0 :(得分:0)
要将子项添加到现有节点,请使用append()。
这样的事情:
import xml.etree.ElementTree as ET
# get the root element
tree = ET.parse('some.xml')
root = tree.getroot()
elem = ET.Element('newchild')
elem.text = 'thiscamefromtextfile'
root.append(elem) # append to root or any other node, as you want
tree.write('some.xml')
在此之后检查some.xml
文件时,您将在child2
<强>输出强>:
<root>
<child1 />
<child2 />
<newchild>thiscamefromtextfile</newchild>
</root>
答案 1 :(得分:0)
import xml.etree.ElementTree as et
data = """<root>
<child1></child1>
<child2></child2>
</root>"""
root = et.fromstring(data)
# create the new element and set the text
element = et.Element('newchild')
element.text = 'thiscamefromtextfile'
# add the element to the root node
root.append(element)
print(et.tostring(root, encoding='unicode'))
另一种方式看起来像这样。
root = et.fromstring(data)
element = et.SubElement(root, 'newchild')
element.text = 'thiscamefromtextfile'
结果如下所示。
<root>
<child1 />
<child2 />
<newchild>thiscamefromtextfile</newchild></root>