【发布时间】:2020-05-27 16:31:01
【问题描述】:
我的数据在输入中以以下格式分隔
A;B;C;D;E;F;G;H;I;J;K
输出应该是这样的
<1>A</1>
<2>B</2>
<3>C</3>
<4>D</4>
<5>E</5>
<6>F</6>
<7>G</7>
<8>H</8>
<9>I</9>
<10>J</10>
<11>K</11>
上面提到的是这个分隔字符串的最大长度。已经编写了一个 xslt 以便能够分隔分隔的字符串并使用下面提到的多个子字符串获得所需的输出并能够获得输出
<xsl:value-of
select="substring-before(substring-after(substring-after(substring-after(string,';'),';'),';'),';')"/>
问题:提供者并非一直以上述格式(A;B;C;D;E;F;G;H;I;J;K)发送数据。
当有空值时,我们假设它看起来像A;B;C;D;;;;;;;。
但是在这种情况下,我们收到的是A;B;C;D,之后没有空分隔符。
假设我们的字符串是固定长度的,我们在之前和之后使用的提取逻辑。如果不遵守长度,我们将无法提取数据。
有人可以帮助处理与接收到的长度无关的逻辑,即在第一个分隔符之前的数据始终是 并且在 1 到 2 个分隔符之间是 等等。
【问题讨论】:
-
您不能将
<1>A</1>作为输出:元素名称不能以数字开头。 -
我的回答有帮助还是您还有问题?
-
嘿,帮助谢谢,但遇到了另一个我正在解决的问题..感谢您的帮助。
-
我现在正试图以特定的顺序连接每个单独项目中的这些值,用“_”分隔但无法成功。
-
@vas - 您应该发布一个新问题,其中包含可重现的示例以及您想要获得的输出示例。我相信有人会提供帮助。