任何人都可以获得XSL代码,该代码将转换(key = val)格式的字符串(请参见示例)
在遇到错误时,由于缺乏语言知识,我无法诊断出错误。
给出: fr = me to = you do = command Num = 1521739
需求(在XSL中):
<command>
<Input>
<Num>1521739</Num>
</Input>
</command>
答案 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='), ' ')"/>