我有一个包含if语句的xpath。我想用c#来评估它。如果我没有在任何XPath的功能我用如何用C语言解析xpath语句#
node.SelectSingleNode(xpath);
当我试着使用if语句,我得到一个无效的令牌错误做到这一点。
这是我的XPath:
if (substring-before(substring-after(//IzdaniRacunEnostavni/@xsi:noNamespaceSchemaLocation,'http://www.gzs.si/e-poslovanje/sheme/'),'_EnostavniRacun.xsd')='eSLOG_1-6') then //Postavka/StevilkaVrstice[text()!='']/../../ZneskiPostavke/VrstaZneskaPostavke[text() ='203']/../ZnesekPostavke else //Postavka/StevilkaVrstice[text() !='']/../../ZneskiPostavke/VrstaZneskaPostavke[text() ='66']/../ZnesekPostavke
如果我测试此XPath与http://videlibri.sourceforge.net/cgi-bin/xidelcgi它显示为有效。
是http://stackoverflow.com/questions/971067/is-there -an-if-then-else-statement-in-xpath你在找什么?请注意,您添加的验证器是用于XPath 2.0,它不是.Net Framework的Xml类的一部分。 – 2014-09-03 06:19:24
嗯,我相信.NET 4.5支持xpath 2.0 ... – n32303 2014-09-03 06:22:59
不应该是“eq”而不是等于在IF表达式中签名(=) – Vizard 2014-09-03 06:24:42