p.getElementsByTagName( '分类')[0] .firstChild
minidom不会弄平
因此,类的firstChild是一个Text节点,表示
您可能想要的是所有类别的孩子的文本数据.在DOM Level 3 Core中你只需要调用:
p.getElementsByTagName('Category')[0].textContent
但是minidom还不支持.但是,最新版本支持另一种Level 3方法,您可以使用它以更迂回的方式执行相同的操作:
p.getElementsByTagName('Category')[0].firstChild.wholeText
CDATA是它自己的节点,因此这里的Category元素实际上有三个子节点,一个空白文本节点,CDATA节点和另一个空白节点.你只是看错了,就是这样.我没有看到任何更明显的方法来查询CDATA节点,但你可以像这样把它拉出来:
[n for n in category.childNodes if n.nodeType==category.CDATA_SECTION_NODE][0]