我已就这个问题在这里阅读了几个答案,我仍然无法解决。
基本上,我想打印子节点的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>
我正在尝试获得&#34; total&#34;的nodeValue。
这是我写的:
totalIssues = dom.getElementsByTagName('issues')[0].childNodes[1].childNodes[2]
到目前为止,我已经尝试了我得到None
或空格的唯一结果。
另外,如何通过名称获取childNode?由于很多次,会有另一个元素出现,这将改变&#34; total&#34;的位置。元件。
答案 0 :(得分:2)
通过几个步骤获取它并明确标记名称:
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字符串。
希望有所帮助。