Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Saxon.Net计算Xpath表达式_C#_.net_Xpath_Saxon - Fatal编程技术网

C# 如何使用Saxon.Net计算Xpath表达式

C# 如何使用Saxon.Net计算Xpath表达式,c#,.net,xpath,saxon,C#,.net,Xpath,Saxon,如何使用saxon在.net中计算以下Xpath表达式?我需要能够传入一个变量,并在一整套代码中得到结果 SchematronTestText = "not(count($CTR17) > 0)" 不确定这是否只是一个人工示例:但它相当于empty($CTR17),而且由于$CTR17必须作为XdmValue提供,因此您实际上可以使用XdmValue.Count==0来确定它是否为空,而无需麻烦地计算XPath表达式,感谢您的回复,因为我知道您是主要开发人员。不幸的是,这并不是一个人为的

如何使用saxon在.net中计算以下Xpath表达式?我需要能够传入一个变量,并在一整套代码中得到结果

SchematronTestText = "not(count($CTR17) > 0)"

不确定这是否只是一个人工示例:但它相当于
empty($CTR17)
,而且由于$CTR17必须作为
XdmValue
提供,因此您实际上可以使用
XdmValue.Count==0
来确定它是否为空,而无需麻烦地计算XPath表达式,感谢您的回复,因为我知道您是主要开发人员。不幸的是,这并不是一个人为的例子,而是我希望重新利用大众观点的一个例子。在处理这段代码时,如何将变量设置为空以使计数($CTR17)=0为真?您只需将变量分配给XdmEmptySequence.INSTANCE。我来试一试。谢谢你我不同意。问题是关于在.net的xpath中使用Saxon。我们非常感谢Michael,因为他是软件的架构师,他让我能够逐步找到我发布的答案。最后,任何有类似需求的人现在都可以找到这个片段,帮助他们进步。我已经为原始问题提供了更清晰的解释。嗨,Michael,当使用saxon9ee试验(9.7.0.6)时,方法是小写的。我可能选择了错误的版本吗?Saxon Java使用了以小写开头的方法名的Java约定;在.NET上,它使用以大写字母开头的.NET约定。另外,这两个接口非常相似。
Processor processor = new Processor(true);
XPathCompiler compiler = processor.NewXPathCompiler();
compiler.DeclareVariable(new QName("aaa"));
XPathSelector selector = compiler.Compile("not(count($aaa) > 0)").load();
selector.SetVariable(new QName("aaa"), new XdmAtomicValue('sample')); 
var result = selector.EvaluateSingle().ToString();