minidom追加子/插入之前

Myr*_*tel 5 python xml minidom

我正在使用 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>
Run Code Online (Sandbox Code Playgroud)

现在的代码:

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])
Run Code Online (Sandbox Code Playgroud)

结果:

<calcSequence>
    <entry>FD_so</entry>
    <entry>FD_ped</entry>
    <entry>test</entry><entry>FD_veh</entry>
</calcSequence>
Run Code Online (Sandbox Code Playgroud)

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

bde*_*ham 5

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

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