Python xml - 在与父标签相同的行中添加标签
Posted
技术标签:
【中文标题】Python xml - 在与父标签相同的行中添加标签【英文标题】:Python xml - Add tags in the same line with parent tag 【发布时间】: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 结构。知道如何将它们放在同一行吗?
谢谢!
【问题讨论】:
【参考方案1】:在 xml 行中不很重要!
<tag5 name="Text"><div><h2>SomeTxt</h2></div></tag5>
具有相同的含义:
<tag5 name="Text">
<div>
<h2>SomeTxt</h2>
</div>
</tag5>
所以忽略这些行。
【讨论】:
我知道一般来说这根本不重要,问题是我必须将该 xml 导入一些外部程序中,该程序在读取常规文件时存在问题以上是关于Python xml - 在与父标签相同的行中添加标签的主要内容,如果未能解决你的问题,请参考以下文章