获取子节点值时遇到麻烦



关于这个问题,我已经在这里读了几个答案,但仍然无法解决它。

基本上,我想打印子节点的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字符串。

希望对你有帮助。

相关内容

  • 没有找到相关文章

最新更新