首页 > 解决方案 > Python xml - 在与父标签相同的行中添加标签

问题描述

我正在尝试通过解析其他 Source.xml 文件来制作 MyXml.xml 文件。MyXml 的当前结构是:

<tag atrib="true" atrib2="false" atrib3="1" atrib4="7">
    <tag1 txt="CONTENT">
        <tag2 name="Category">1</Field>
        <tag3 name="Wallet"> </Field>
        <tag4 name="Increase">1</Field>
        <tag5 name="Text">
            <div />
        </tag5>
    </tag1>
</tag>

但我的输出应该是这样的(tag5 的标签应该在同一行):

   <tag atrib="true" atrib2="false" atrib3="1" atrib4="7">
        <tag1 txt="CONTENT">
            <tag2 name="Category">1</Field>
            <tag3 name="Wallet"> </Field>
            <tag4 name="Increase">1</Field>
            <tag5 name="Text"><div><h2>SomeTxt</h2></div></tag5>
        </tag1>
    </tag>

当前代码是这样的:

MDroot = minidom.Document()
tag = MDroot.createElement('tag')
MDroot.appendChild(tag)

# Other tags
root = ET.Element('tag')
tag1 = ET.SubElement(root, 'tag1', txt= 'CONTENT')

ET.SubElement(tag1, "tag2", name='Category').text = "Heading"
ET.SubElement(tag1, "tag3", name='Wallet').text = ' '
ET.SubElement(tag1, "tag4", name='Increase').text = 1

tag5 = ET.SubElement(tag1, "tag5 ", name='Text')
div = ET.SubElement(tag5 , "div",)
root1 = ET.Element(tag5)
root1.insert(1, div)

但是这段代码总是创建带有父级的正常 xml 结构。知道如何将它们放在同一行吗?

谢谢!

标签: pythonxmlparsingelementelementtree

解决方案


在 xml 行中并不重要!

<tag5 name="Text"><div><h2>SomeTxt</h2></div></tag5>

含义相同

<tag5 name="Text">
    <div>
      <h2>SomeTxt</h2>
    </div>
</tag5>

因此,只需忽略这些线条。


推荐阅读