代码位于 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/