面对Xpath的问题,如果那么其他概念

时间:2011-06-27 13:20:18

标签: .net xml xpath-2.0

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'其他'''的标记无效。

还有其他方法可以达到效果吗?任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我猜你正在使用.NET Framework。它确实尚未实现所有XPath 2.0功能。 在您的具体示例中,没有问题,因为您可以在代码中执行逻辑。

如果这不符合您的需要,您可以使用 XSLT (虽然这对于更简单的需求来说太复杂了)。

另一种方法是使用支持 XPath 2.0 XQuery 的第三方库,例如 SAXON XQSharp