【发布时间】:2019-05-08 17:46:40
【问题描述】:
我有点卡住试图获取包含特定字符串值的节点。使用node[contains(., X)] 似乎很容易,但问题是这个公式我得到的节点不完全是因为这个:
<node>FLT10 FLT3</node>
<node>FLT1 FLT2</node>
要搜索节点,我只有一个可能的值(在本例中:FLT1 或 FLT2 或 FLT10 或 FLT3),因此简单包含将用于查找 FLT10、FLT3 和 FLT2,但不适用于 FLT1,因为在在这种情况下,包含返回带有 FLT10 的节点,因为(显然)它包含 FLT1。我试着做:
[contains(., concat($the_ref, ' '))]
第一步是尝试添加一个空格,然后它开始对 FLT10 和 FLT1 起作用,但对 FLT3 和 FLT2 不起作用。我的第二个也是愚蠢的步骤是这样的:
[contains(., concat($the_ref, ' ')) or contains(., concat($the_ref, '<'))]
而且...好吧...假设我没有得到预期的结果:/
知道我该怎么做吗??
提前致谢。
PD:我使用的是 xslt 1.0
【问题讨论】:
标签: xml xslt xslt-1.0 contains