将字符串(key:val)转换为xsl

时间:2019-06-28 16:13:32

标签: xml dictionary xslt

任何人都可以获得XSL代码,该代码将转换(key = val)格式的字符串(请参见示例)

在遇到错误时,由于缺乏语言知识,我无法诊断出错误。

给出: fr = me to = you do = command Num = 1521739

需求(在XSL中):

<command>
    <Input>
        <Num>1521739</Num>
    </Input>
</command>

1 个答案:

答案 0 :(得分:1)

好吧,给定$string包含:

fr=me to=you do=command Num=1521739

您可以将do的值提取为:

<xsl:value-of select="substring-before(substring-after($string, 'do='), ' ')"/>

Num的值为:

<xsl:value-of select="substring-after($string, 'Num=')"/>

如果您不知道配对的顺序,请在提取值之前在字符串后添加空格:

<xsl:value-of select="substring-before(substring-after(concat($string, ' '), 'Num='), ' ')"/>

同样,如果您怀疑某个密钥可以包含在另一个密钥中,例如

do=command undo=option

使用前导空格明确选择键:

<xsl:value-of select="substring-before(substring-after(concat(' ', $string, ' '), ' do='), ' ')"/>