为什么在解析xml时会提取符号节点?

时间:2014-04-16 00:21:53

标签: python xml

在尝试解析xml文件时,我遇到了一个我不明白的问题。 在xml文件中,有一个“报告”节点。但是,在解析时,顶级节点有两个“报告”节点。一个具有类型号10,它是符号节点,另一个具有类型号1,即元素节点。我不明白为什么顶级文档节点有两个“报告”节点,即使xml中有一个“报告”节点...

情况就是这样。

在xml中,

<report name="JaCoCo Ant Example">
<sessioninfo id="..." start="..." dump="..."/>
<package name="org/apache/jmeter/util">
<class name="org/apache/jmeter/util/ClassFinder$Test">...</class>
...
</package>
</report>

在python中,

>>> from xml.dom.minidom import parse
>>> dom=parse('xml file path')
>>> dom.nodeName
'#document'
>>> reportNode=dom.childNodes
>>> len(reportNode)
2 <- "I don't know why this is 2, not 1?"
>>> reportNode[0].nodeName
u'report'
>>> reportNode[1].nodeName
u'report'
>>> reportNode[0].nodeType
10
>>> reportNode[1].nodeType
1

更新 当我使用chrome浏览器打开xml文件时,有些节点没有出现。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd">
<report name="JaCoCo Ant Example">...</report>

当我删除“!DOCTYPE report ...”节点时,节点长度为1。因此,在解析xml文件时提取该节点。但我仍然想知道它的nodeName是u'report'...

0 个答案:

没有答案