获取包含 X 字符串的节点

埃洛伊·费尔南德斯·弗兰科

我有点坚持试图获取包含特定字符串值的节点。使用 似乎很容易,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, '&lt;'))]

而且......好吧......假设我没有得到预期的结果:/

知道我怎么能做到这一点吗?

提前致谢。

PD:我使用的是 xslt 1.0

michael.hor257k

考虑以下示例:

XML

<input>
    <node>FLT10 FLT3</node>
    <node>FLT1 FLT2</node>
    <node>FLT4 FLT1</node>
    <node>FLT5 FLT11</node>
</input>

XSLT 1.0

<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>

PS 更好的解决方案是更改输入格式。


注意:更强大的解决方案可以:

[contains(concat(' ', ., ' '), ' FLT1 ')]

防止双方误报。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从字符串获取x值

来自分类Dev

包含x但不包含y的行的子字符串

来自分类Dev

试图从数组中删除包含“ X”字符串的值。

来自分类Dev

删除所有包含x数量的东西的字符串

来自分类Dev

试图从数组中删除包含“ X”字符串的值。

来自分类Dev

删除所有包含x数量的东西的字符串

来自分类Dev

在PHP中爆炸包含0x的字符串

来自分类Dev

获取包含字符串的ID

来自分类Dev

获取包含字符串的ID

来自分类Dev

获取包含字符串的文件的名称

来自分类Dev

解析节点中的x509证书字符串

来自分类Dev

以字符串形式获取240x670并删除?

来自分类Dev

获取字符串中X的出现次数

来自分类Dev

MySQL在字符串中获取X字节

来自分类Dev

获取字符串中X的出现次数

来自分类Dev

包含(字符串)和包含(x => x.myType)之间的实体框架性能

来自分类Dev

如何找到包含子字符串的节点?

来自分类Dev

如何获取字符串中的xml节点值

来自分类Dev

在XSLT中获取当前节点的子字符串

来自分类Dev

如何获取父节点的值作为字符串?

来自分类Dev

获取元素节点等于字符串的xml结果

来自分类Dev

如何获取父节点的值作为字符串?

来自分类Dev

XPath:获取节点的兄弟的字符串内容

来自分类Dev

在PowerShell中获取XML节点字符串的属性

来自分类Dev

如果字符串包含子字符串,则获取该子字符串

来自分类Dev

如何?:如果字符串包含大写的“ X”打印(“发现X!”)

来自分类Dev

正则表达式匹配至少不包含X个字符的字符串

来自分类Dev

如果 x 是 ord(ch) 的倍数,如何在新字符串中包含字符?

来自分类Dev

如果子节点包含特定字符串,则删除XML节点

Related 相关文章

热门标签

归档