【问题标题】:minidom appendchild/insertBeforeminidom appendchild/insertBefore
【发布时间】:2013-12-02 16:42:11
【问题描述】:

我正在使用 Python 和 minidom 在现有 XML 文件中插入数据。当我这样做时,我得到了正确的 XML 代码,但它看起来不像我想要的那样。 这是我开头的 xml 文件的示例。

<?xml version="1.0" ?>
<sim>
    <tool name="A"/>
    <calcSequence>
        <entry>FD_so</entry>
        <entry>FD_ped</entry>
        <entry>FD_veh</entry>
    </calcSequence>
</sim>

现在是代码:

calcSequence = doc.getElementsByTagName('calcSequence')[0]
entrys = calcSequence.getElementsByTagName('entry')
hnode = doc.createElement('entry')
htext = doc.createTextNode('test')
hnode.appendChild(htext)
calcSequence.insertBefore(hnode,entrys[2])

结果:

<calcSequence>
    <entry>FD_so</entry>
    <entry>FD_ped</entry>
    <entry>test</entry><entry>FD_veh</entry>
</calcSequence>

有没有办法在 2 个&lt;entry&gt;s 之间插入缺少的换行符? doc.toprettyxml() 不是解决方案,因为这只是 xml 的一小部分,我不想在文档的每一行之后插入空行。

【问题讨论】:

    标签: python xml minidom


    【解决方案1】:

    您是否尝试过在文本节点中插入换行符?

    # Put this after your existing code
    newline = doc.createTextNode('\n')
    calcSequence.insertBefore(newline, entrys[2])
    

    【讨论】:

    • 谢谢,这让它变得更好,即使它不是完整的解决方案。我确实添加了正确数量的空格字符以获得格式良好的 xml。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多