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 获取包含X字符串的节点_Xml_Xslt_Xslt 1.0_Contains - Fatal编程技术网

Xml 获取包含X字符串的节点

Xml 获取包含X字符串的节点,xml,xslt,xslt-1.0,contains,Xml,Xslt,Xslt 1.0,Contains,我是一个试图获取包含特定字符串值的节点的小傻瓜。使用节点[contains.,X]似乎很容易,但问题是,我得到的节点不完全是指定的,因为: <node>FLT10 FLT3</node> <node>FLT1 FLT2</node> 第一步是尝试添加空白,然后开始对FLT10和FLT1起作用,但对FLT3和FLT2不起作用。我愚蠢的第二步是: [contains(., concat($the_ref, ' ')) or contains(., c

我是一个试图获取包含特定字符串值的节点的小傻瓜。使用节点[contains.,X]似乎很容易,但问题是,我得到的节点不完全是指定的,因为:

<node>FLT10 FLT3</node>
<node>FLT1 FLT2</node>
第一步是尝试添加空白,然后开始对FLT10和FLT1起作用,但对FLT3和FLT2不起作用。我愚蠢的第二步是:

[contains(., concat($the_ref, ' ')) or contains(., concat($the_ref, '&lt;'))]
而且。。。好假设我没有得到预期的结果:/

你知道我该怎么做吗

提前谢谢


PD:我正在使用xslt 1.0,请考虑以下示例:

XML


为了防止双方误报。

你好,Michae,我无法更改输入格式。。。这取决于第三方供应商。但这似乎是一个很好的解决方案。我正在努力。谢谢
[contains(., concat($the_ref, ' ')) or contains(., concat($the_ref, '&lt;'))]
<input>
    <node>FLT10 FLT3</node>
    <node>FLT1 FLT2</node>
    <node>FLT4 FLT1</node>
    <node>FLT5 FLT11</node>
</input>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/input">
    <result>
        <xsl:copy-of select="node[contains(concat(., ' '), 'FLT1 ')]" />
    </result>
</xsl:template>

</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<result>
  <node>FLT1 FLT2</node>
  <node>FLT4 FLT1</node>
</result>
[contains(concat(' ', ., ' '), ' FLT1 ')]