Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 基于其文本()筛选节点_Xml_Xslt - Fatal编程技术网

Xml 基于其文本()筛选节点

Xml 基于其文本()筛选节点,xml,xslt,Xml,Xslt,我有下面的XML <Categories> <cat>Video</cat> <cat>Audio</cat> <cat>Hybrid</cat> </Categories> 视频 音频 混合的 在我的XSL中,我想过滤“音频”,并将其余节点传递给调用模板,该模板将节点作为参数之一。如何做到这一点 我试过下面的方法,但没有成功 尝试1: <xsl:call-template name='x

我有下面的XML

<Categories>
<cat>Video</cat>
<cat>Audio</cat>
<cat>Hybrid</cat>
</Categories>

视频
音频
混合的
在我的XSL中,我想过滤“音频”,并将其余节点传递给调用模板,该模板将节点作为参数之一。如何做到这一点

我试过下面的方法,但没有成功

尝试1:

<xsl:call-template name='xx'>
<xsl:with-param name='nodes' select="/Categories/cat[text()='Hybrid' or 'Video']"/>
</xsl:call-template>

尝试2:

<xsl:call-template name='xx'>
<xsl:with-param name='nodes' select="/Categories/cat[text()='Hybrid' or text()='Video']"/>
</xsl:call-template>

尝试3:

<xsl:call-template name='xx'>
<xsl:with-param name='nodes' select="/Categories/cat[contains(text(),'Hybrid,Video']"/>
</xsl:call-template>

如果我只使用下面的一个值,它就会工作

<xsl:call-template name='xx'>
<xsl:with-param name='nodes' select="/Categories/cat[text()='Video']"/>
</xsl:call-template>

提前谢谢

我想过滤“音频”和 将其余节点传递给调用 模板

你的第二个表达应该是:

/Categories/cat[text()='Hybrid' or text()='Video']
但是,我会使用:

/Categories/cat[.!='Audio']

我想过滤“音频”和 将其余节点传递给调用 模板

你的第二个表达应该是:

/Categories/cat[text()='Hybrid' or text()='Video']
但是,我会使用:

/Categories/cat[.!='Audio']


这种方法效果很好

/Categories/cat[. ='Hybrid' or . ='Video']

谢谢你的帮助。

这种方法效果很好

/Categories/cat[. ='Hybrid' or . ='Video']
感谢您的帮助。

/Categories/cat[text()='Hybrid'或text()='Video'],表达式不起作用。同时,我不能使用/Categories/cat[.!='Audio'],因为我有多个值需要抑制。/Categories/cat[text()='Hybrid'或text()='Video'],表达式不起作用。同时,我不能使用/Categories/cat[.!='Audio'],因为我有多个值需要抑制。
text()
与提供的输入样本中的
self::node()
字符串值没有什么不同。如果在实际输入中是这样,那么您没有提供一个很好的示例…
text()
与提供的输入样本中的
self::node()
字符串值没有区别。如果在实际输入中是这样,那么您没有提供一个好的示例。。。