【问题标题】:Python xml - Add tags in the same line with parent tagPython xml - 在与父标签相同的行中添加标签
【发布时间】:2021-11-28 10:40:33
【问题描述】:

我正在尝试通过解析其他 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 结构。知道如何将它们放在同一行吗?

谢谢!

【问题讨论】:

    标签: python xml parsing element elementtree


    【解决方案1】:

    在 xml 行中很重要!

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

    具有相同的含义:

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

    所以忽略这些行。

    【讨论】:

    • 我知道一般来说这根本不重要,问题是我必须将该 xml 导入一些外部程序中,该程序在读取常规文件时存在问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2012-11-03
    • 2021-09-12
    相关资源
    最近更新 更多