python - 当 XPath 验证器返回正确结果时,为什么 XmlNode.SelectNodes 返回空列表?

标签 python .net xpath ironpython xmlnode

代码位于 IronPython 中,如下:

for systemNode in csResultXML.SelectNodes("Response/SubSystems/SubSystem"):

    itemNodes = systemNode.SelectNodes('/SubSystem/Items/Item')

单次循环中systemNode的值为:

<SubSystem ID="0">
  <Items>
    <Item>
      <Quantity>1</Quantity>
      <TotalPrice>0.0</TotalPrice>
    </Item>
    <Item>
      <Quantity>1</Quantity>
      <TotalPrice>0.0</TotalPrice>
    </Item>
  </Items>
</SubSystem>

代码完成后,itemNodes 是一个空列表。

为什么? XPath 在线验证器正确返回结果。

谢谢您的宝贵时间

最佳答案

您需要使用 systemNode.SelectNodes('Items/Item') 因为您想要选择上下文节点的 Items 子元素(您的 systemNode 变量),而不是文档节点 /Items 子元素。

关于python - 当 XPath 验证器返回正确结果时,为什么 XmlNode.SelectNodes 返回空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050733/

相关文章:

html - 如何使用 Selenium 中的xpath在轮播中定位图像?

python-3.x - 如何点击被其他元素覆盖的链接? Python 3.6 和 Selenium

python - 将一个数组复制到另一个数组的给定位置

c# - SSO SAML 的 Signed XML 签名验证(使用 sha256)

c# - MVVM 模型到 ViewModel 的通信

c# - 允许自定义文件在加载数据时双击并打开我的应用程序

javascript - 在 Firefox 和 Internet Explorer 中使用 XPath 选择 HTML 元素的不同结果

python - 主/详细页面的 Django 管理应用程序

python - 从 Flask 获取所有 "Accept" header

python - 在列表中查找子列表的索引