【发布时间】:2009-03-10 16:42:22
【问题描述】:
有人能解释一下为什么这不起作用吗?
我正在执行
XmlNode xmlNode = xmlDocument.SelectSingleNode("//(artist|author)");
我明白了
System.Xml.XPath.XPathException:表达式必须计算为节点集。
但这有效,即使有很多艺术家节点也不会引发异常
XmlNode xmlNode = xmlDocument.SelectSingleNode("//artist");
【问题讨论】:
-
也许 //(艺术家|作者) 评估为 0 个节点?
-
不,我在其他 xpath 评估器上测试了它:S
-
“//艺术家|//作者”会发生什么?
-
尝试检查调试器(使用 xmlDoc.SelectNodes),因为在某些极端情况下,不同的库可能会有不同的行为
标签: c# xml xpath selectsinglenode