我正在尝试使用 XSLT 编写匹配和替换函数。我有两个具有不同名称值对的变量。两个变量中几乎没有名称匹配。我需要替换匹配的名称值对的值。示例是:
<original_val>xxx=123,iii=kos,123=hfj,i920=owp02</original_val>
<replace_val>xxx=abc,i920=23ew</replace_val>
从上面可以看出
替换值
元素是否有XXX和i920该名称相匹配的名称XXX和i920在
原始值
元素。
我的任务是使用 XSL将original_val元素中 xxx 和 i920 的值替换为replace_val元素的值。xxx 和 i920 的值是完全随机的。我正在使用 XSLT 版本 1。任何提示都会非常有帮助。
我的建议是使用模板拆分两个字符串并创建两个包含如下内容的新变量:
<originalSplit>
<element>
<name>xxx</name>
<value>123</value>
</element>
<element>
<name>iii</name>
<value>kos</value>
</element>
<element>
<name>123</name>
<value>hfj</value>
</element>
<element>
<name>i920</name>
<value>owp02</value>
</element>
</originalSplit>
<replaceSplit>
<element>
<name>xxx</name>
<value>abc</value>
</element>
<name>i920</name>
<value>23ew</value>
</element>
</replaceSplit>
然后您可以循环遍历 originalSplit 变量的元素并输出每个元素的名称。然后检查replaceSplit 变量中是否存在名称匹配。如果是,则输出替换值。如果不是,则输出原始值。这个站点有很多关于如何在 XSLT 1.0 中拆分分隔字符串的问题。我建议使用这些答案之一。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句