XML:
<additionalFields>
<field name="dataKey">3868</field>
<field name="distribution">140</field>
</additionalFields>
我想执行以下If else Xpath语句。
String text = nav.Evaluate("if(/additionalFields/field[@name='distribution']/text() = '140') then 'C' else ' ' ").ToString();
但是我收到以下错误消息:
'if(/ additionalFields / field [@ name ='distribution'] / text()='140')然后'C'其他'''的标记无效。
还有其他方法可以达到效果吗?任何帮助,将不胜感激。
答案 0 :(得分:0)
我猜你正在使用.NET Framework。它确实尚未实现所有XPath 2.0功能。 在您的具体示例中,没有问题,因为您可以在代码中执行逻辑。
如果这不符合您的需要,您可以使用 XSLT (虽然这对于更简单的需求来说太复杂了)。
另一种方法是使用支持 XPath 2.0 或 XQuery 的第三方库,例如 SAXON 或 XQSharp 强>