我有以下代码来执行xpath表达式:
nodeList = xmlDocument.SelectNodes("if(count(//Claims[ClaimNoticeCd='SUBCLAIM']) > 1)
then //Claims[ClaimNoticeCd='SUBCLAIM'] else //Claims[ClaimNoticeCd='CLAIM']");
但它给了我xpath异常,如:
if(count(// Claims [ClaimNoticeCd ='SUBCLAIM'])> 1)然后//声明[ClaimNoticeCd ='SUBCLAIM']否//声明[ClaimNoticeCd ='CLAIM']“具有无效令牌
答案 0 :(得分:1)
在XPath 1.0中没有if / then / else,但你可以使用对立谓词和节点集联合伪造它:
//Claims[count(//Claims[ClaimNoticeCd='SUBCLAIM'])>1][ClaimNoticeCd='SUBCLAIM']
|
//Claims[count(//Claims[ClaimNoticeCd='SUBCLAIM'])<=1][ClaimNoticeCd='CLAIM']
答案 1 :(得分:0)
您使用的语句是XPath 2.0。 .NET框架不支持XPath 2.0,如果需要,您将不得不依赖第三方库。