Minidom:如何检查我是否有预期的根和子级?

2024-10-01 13:33:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个xml结构

<root>

    <child1>
    </child1>
    <child2>
    </child2>
    <child3 />
    <extendedchild:name>
    </extendedchild:name>

</root>

我如何检查minidom,根是root,并且子元素总是以下元素?在

^{pr2}$

不想在“outroot”列表中的子元素 ... 在

    <notachild />
</root>
<outofroot />

编辑: 似乎outofroot元素是由minidom解析器处理的,它给出了xxxxxxx.xml has an error: junk after document element: line 12, column 0


Tags: name元素列表rootxml结构minidompr2
2条回答

可以使用minidom遍历子节点并验证根节点的名称是"root"。然后,您可以一次处理一个子项,并验证其他要求。在

if not root.tagName == "root":
   # do something
for node in root.childNodes:
   # do something more

如果需要,可以递归地处理子节点。在

^{pr2}$

就根元素名称检查而言,您可以这样做:

import xml.dom.minidom
dom = xml.dom.minidom.parseString(xmlString)
if dom.documentElement.tagName == "root" ...

您应该能够for..在根的.childNodes上迭代。在

如果某个内容在根之外,则它不是格式良好的XML文档(它只能有一个根节点)。在

相关问题 更多 >