xslt字符串替换为substring-after

我需要修改一个字段,例如:

<ADDRESS>RieglerhÃtte|27|22|~|~</ADDRESS>RieglerhÃtte 27/22

删除所有〜,替换所有|到/(除了第一次出现|到''空间)。

我尝试将翻译功能用作:

<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘~|‘,‘/‘),‘|‘,‘/‘)?>

其结果为:RieglerhÃtte 27///

也尝试使用replace:

<?xdofx:replace(replace(replace(ADDRESS,'~|',''),'|~','|','/')?>

可以正常工作,但是第一次出现|后没有空格:RieglerhÃtte/27。 我尝试将substring-before与replace一起使用,但在BIP中给出了错误。 (xdofx和xdoxslt不能一起使用)。

我正在尝试获取类似RieglerhÃtte 27RieglerhÃtte 27/11/22/33的输出(输入为-RieglerhÃtte|27|11|22|33)。

liaozhongfa 回答:xslt字符串替换为substring-after

我认为您非常亲密。假设~是您的“空白”字符,|会分隔字段,并且您不想显示空白字段...

尝试一下:

<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘|~‘,‘‘),‘|‘,‘/‘)?>

它首先删除空白值,然后将管道分隔符更改为正斜杠。

本文链接:https://www.f2er.com/2698946.html

大家都在问