Xml 获取包含X字符串的节点
我是一个试图获取包含特定字符串值的节点的小傻瓜。使用节点[contains.,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
<node>FLT10 FLT3</node>
<node>FLT1 FLT2</node>
第一步是尝试添加空白,然后开始对FLT10和FLT1起作用,但对FLT3和FLT2不起作用。我愚蠢的第二步是:
[contains(., concat($the_ref, ' ')) or contains(., concat($the_ref, '<'))]
而且。。。好假设我没有得到预期的结果:/
你知道我该怎么做吗
提前谢谢
PD:我正在使用xslt 1.0,请考虑以下示例: XML
为了防止双方误报。你好,Michae,我无法更改输入格式。。。这取决于第三方供应商。但这似乎是一个很好的解决方案。我正在努力。谢谢
[contains(., concat($the_ref, ' ')) or contains(., concat($the_ref, '<'))]
<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 ')]