在xml文件中插入标记

时间:2018-04-25 12:15:49

标签: python lxml

我尝试在大的xml文件中插入标记。我只想改变我插入的那一行,而不是所有其他行。因为逻辑,当我必须插入行,并不是那么简单,我必须使用xml解析器。 但是我使用的解析器也改变了其他行。

原始档案:

<?xml version='1.0' encoding='UTF-8'?>
<tag>
    <!-- Comment with ÄÜÖ -->
    <name>test</name>
    <name></name>
</tag>

所需文件:

<?xml version='1.0' encoding='UTF-8'?>
<tag>
    <!-- Comment with ÄÜÖ -->
    <name>test</name>
    <name>test2</name>
    <name></name>
</tag>
例如,

lxml显示字符实体,并在保存后自动缩短空标记。

lxml结果:

<tag>
    <!-- Comment with &#195;&#132&#195;&#156;&#195;&#150; -->
    <name>test</name>
    <name>test2</name>
    <name />
</tag>

lxml代码:

from lxml import etree

with open('org.xml', 'r') as xml_file:
    xml_tree = etree.parse(xml_file)
// adding/manipulating xml
// ...
// saving xml
with open('final.xml', 'wb') as final_file:
    final_file.write(etree.tostring(xml_tree))

0 个答案:

没有答案