2011-05-18 144 views
0

我需要使用XSLT获取XPath节点。我需要检查一个特定节点是否存在于一个xml块中。我知道如何做的唯一方法是使用XPath节点。让我知道是否知道使用XSLT检查XML块中是否存在某个节点的另一种方法。如何使用XSLT获取XPath节点

+0

你的问题很不清楚。从XSLT样式表对源文档的所有访问都使用XPath表达式,所以简单的答案是没有其他方式(XPath除外)。请尝试更清楚地解释您的问题:您开始的输入是什么,您想要达到的输出是什么? – 2011-05-18 21:42:04

回答

0

是的,XPath就是这样。

假设你是在XSLT模板,并要检查一个子元素“TestElement”的存在,你可以这样做:

<xsl:if test="TestElement"> 
    <!-- some-code --> 
</xsl:if> 

在一个简单的指定元素/节点名测试是否存在该元素/节点。


听起来就像我完全误解了这个问题。如果要在XSLT中为给定文档中的给定节点生成“绝对”XPath表达式,请参阅there's a lovely succinct solution described here

+0

有没有办法从current()函数获取xpath节点 – Luke101 2011-05-18 18:46:26

+0

好吧,我认为我完全误解了你的问题:你是否想要一种方法从文档根目录中获得将评估给定节点的XPath表达式据推测,并且从XSLT文档中生成/派生了该表达式? – Tao 2011-05-18 18:53:58

+0

我需要获取xpath节点,以便在'if'语句中使用它。我需要检查并查看当前节点是否存在于xml的块中 – Luke101 2011-05-18 18:59:19