关于这个问题,我已经在这里读了几个答案,但仍然无法解决它。
基本上,我想打印子节点的nodeValue。
这是xml:
<issues>
<maxResultsReached>true</maxResultsReached>
<paging>
<pageIndex>2</pageIndex>
<pageSize>500</pageSize>
<total>10000</total>
<fTotal>10,000</fTotal>
<pages>20</pages>
</paging>
<issues>
我试图获得"总"的nodeValue。
我写的是:
totalIssues = dom.getElementsByTagName('issues')[0].childNodes[1].childNodes[2]
到目前为止,我已经实验了唯一的结果,我得到了None
或空白空间。
另外,如何仅通过名称获取childNode ?因为很多时候,会有另一个元素出现,它会改变total元素的位置。
通过几个步骤获取,并明确标记名称:
issue = dom.getElementsByTagName('issues')[0]
paging = issue.getElementsByTagName('paging')[0]
total = paging.getElementsByTagName('total')[0]
print total.firstChild.nodeValue # prints 10000
只是供参考,你看到它不是有趣的使用minidom
xml解析?好的,这里是使用标准库中的xml.etree.ElementTree
的替代方案:
issues = ET.fromstring(data)
total = issues.find('./paging/total')
print total.text # prints 10000
其中data
是您的XML字符串。
希望对你有帮助。