检查第一个子节点是否是处理指令

时间:2013-07-10 17:30:31

标签: xslt processing-instruction

我想要一个代码片段来检查第一个子节点是否是处理指令?

例如:

<caml:Author>
<?PI-start data="processing instruction"?>
<caml:Leg> test data </caml:Leg>
</caml:Author>

在上面的例子中,caml的第一个子节点:Author标签是一个处理指令。如何查找第一个子节点是否为处理指令?

1 个答案:

答案 0 :(得分:1)

记住你也可以获得注释或文本节点(你的例子中的第一个子节点是文本节点),然后如果caml:Author是我当前的节点,我将使用以下内容来解决这些问题:

  test="(processing-instruction() | *)[1][self::processing-instruction()]"

如果第一个处理指令和子元素是处理指令,则结果为真。