gpt4 book ai didi

.net - 我可以将一个导航器编译的 XPathExpression 与另一导航器一起使用吗?

转载 作者:行者123 更新时间:2023-12-02 02:12:42 26 4
gpt4 key购买 nike

如果我得到一个 XPathNavigator,并用它来编译 XPathExpression exp,我使用 exp 的方式有哪些限制?我可以将 exp 与不同的导航器一起使用吗?我知道它可以运行,并且即使编译 XPathNavigator 是由与评估 XPathNavigator 非常不同的文档或节点形成的,它似乎也会给出正确的结果。但不知道是否安全。

这是一个基本的例子来说明我的意思。这是无意义的,但说明了这一点

private object TestXPath(XmlNode n1, XmlNode n2)
{
XPathNavigator nav1 = n1.CreateNavigator();
XPathExpression exp = nav1.Compile("somexpath");

// evaluate using the navigator that compiled exp
object result = n1.Evaluate(exp);
if (result == null)
{
XPathNavigator nav2 = n2.CreateNavigator();
// evaluate using a navigator that did NOT compile exp. Is this legal?
result = nav2.Evaluate(exp);
}
return result;
}

最佳答案

您可以在其他导航器上自由使用该表达方式。根据 Daniel Cazzulino 的说法,您创建原始导航器的文档是无关紧要的,因为 xpath 表达式编译独立于文档实例。
http://weblogs.asp.net/cazzu/archive/2003/10/07/30888.aspx

关于.net - 我可以将一个导航器编译的 XPathExpression 与另一导航器一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5836453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com