1

以下代码给出了 NullReferenceException,因为 XPathSelectElement 无法浏览我给出的 XPath 表达式:

String description = (String)node.XPathSelectElement("//car").Attribute("description");

我已经对此进行了调试并验证了节点是否被正确读取,并且我的 XPath 中的元素的大写方式与它们在我的 XML 文件中的方式相同。我知道有一个“汽车”元素具有一个名为“描述”的属性。这怎么行不通?它是否与需要 XPath 的 LocalName 版本有关?

4

2 回答 2

1

如果您的 XML 文档使用名称空间,那可能就是问题所在。如果 //car 位于默认名称之外的另一个名称空间中,则 XPathSelectElement 将无法找到该节点。(您必须使用正确的命名空间作为前缀)

于 2009-05-08T21:13:12.387 回答
0

即使您修复了可能是命名空间问题,您仍然必须检查以确保在查找属性之前找到了汽车。

于 2009-05-08T22:04:33.217 回答