追加一些数据到特定的XML标签从txt文件到xml在PYHTON
问题描述:
下面是我的txt文件我想将它粘贴到资源标签内没有标签从txt文件下面的xml文件有什么办法做到这一点我尝试了很多,但失败了,我基本上想把它附加到xml文件。追加一些数据到特定的XML标签从txt文件到xml在PYHTON
TXT文件
<resources>
<format fieldOrder="upper first" frameDuration="200/5000s" height="1080" id="3305" name="FFVideoFormat1080i50" width="1920"></format>
</resource>
XML文件
<resource>
<asset id="r28" name="Poldark_S03E02_2tk_UK_Music_20170428.L" uid="1F74A">
</asset>
</resources>
答
你说你要 '追加',但我觉得你要把format
元素resource
elem ENT。如果这是正确的,那么重要的是要知道根元素的方法insert
。
这里我将字符串转换为xml树。然后我找出这些树的根。完成之后,我选择txt_file
树的第一个子项,并将其插入xml_file
树根的子项列表的0位置。
from lxml import etree
txt_file = '''\
<resources>
<format fieldOrder="upper first" frameDuration="200/5000s" height="1080" id="3305" name="FFVideoFormat1080i50" width="1920"></format>
</resources>'''
xml_file = '''\
<resource>
<asset id="r28" name="Poldark_S03E02_2tk_UK_Music_20170428.L" uid="1F74A"></asset>
</resource>'''
txt_tree = etree.fromstring(txt_file)
xml_tree = etree.fromstring(xml_file)
txt_root = txt_tree.getroottree().getroot()
xml_root = xml_tree.getroottree().getroot()
xml_root.insert(0, txt_root.getchildren()[0])
print (etree.tostring(xml_tree))
结果:
b'<resource>\n\t<format fieldOrder="upper first" frameDuration="200/5000s" height="1080" id="3305" name="FFVideoFormat1080i50" width="1920"/>\n<asset id="r28" name="Poldark_S03E02_2tk_UK_Music_20170428.L" uid="1F74A"/>\n</resource>'
的 “XML文件” 没有很好地形成。如果格式不正确,则不能声称它是XML文件。 – mzjn