GetNodeByXpath 抛出 NullReferenceException
GetNodeByXpath throws NullReferenceException
下面这一行抛出 NullReferenceException。
Node nodeEmail = Node.GetNodeByXpath("//Member/email[text()='xxx']");
我有
<root id="-1">
<Members>
<Member id="15853" ...>
<email>xxx</email>
</Member>
...
异常:
[NullReferenceException: Object reference not set to an instance of an object.]
umbraco.NodeFactory.Node.initialize() +172
umbraco.NodeFactory.Node..ctor(XmlNode NodeXmlNode) +179
umbraco.NodeFactory.Node.GetNodeByXpath(String xpath) +168
这是我第一次尝试 XPath。它在 Umbraco 6 上。
我做错了什么?
更多信息
以下都可以:
Node nodeEmail = Node.GetNodeByXpath("//Members");
Node nodeEmail = Node.GetNodeByXpath("//Members/Member");
Node nodeEmail = Node.GetNodeByXpath("//Member");
但这会引发相同的异常
Node nodeEmail = Node.GetNodeByXpath("//Members/Member/email");
像这样将 text()
更改为 .
:
Node nodeEmail = Node.GetNodeByXpath("//Member/email[.='xxx']");
这个有效
Node nodeMember = Node.GetNodeByXpath("//Member[email='"+email+"']");
当然它抛出了一个异常,因为我尝试 select 的不是节点。抱歉浪费您的时间。
下面这一行抛出 NullReferenceException。
Node nodeEmail = Node.GetNodeByXpath("//Member/email[text()='xxx']");
我有
<root id="-1">
<Members>
<Member id="15853" ...>
<email>xxx</email>
</Member>
...
异常:
[NullReferenceException: Object reference not set to an instance of an object.]
umbraco.NodeFactory.Node.initialize() +172
umbraco.NodeFactory.Node..ctor(XmlNode NodeXmlNode) +179
umbraco.NodeFactory.Node.GetNodeByXpath(String xpath) +168
这是我第一次尝试 XPath。它在 Umbraco 6 上。
我做错了什么?
更多信息
以下都可以:
Node nodeEmail = Node.GetNodeByXpath("//Members");
Node nodeEmail = Node.GetNodeByXpath("//Members/Member");
Node nodeEmail = Node.GetNodeByXpath("//Member");
但这会引发相同的异常
Node nodeEmail = Node.GetNodeByXpath("//Members/Member/email");
像这样将 text()
更改为 .
:
Node nodeEmail = Node.GetNodeByXpath("//Member/email[.='xxx']");
这个有效
Node nodeMember = Node.GetNodeByXpath("//Member[email='"+email+"']");
当然它抛出了一个异常,因为我尝试 select 的不是节点。抱歉浪费您的时间。