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

时间:2016-06-27 09:48:22

标签: 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在线验证器正确地重复结果。

感谢您的时间

1 个答案:

答案 0 :(得分:2)

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