【发布时间】:2020-05-13 12:58:38
【问题描述】:
你能帮我解决这个问题吗? 我一直在尝试根据 xslt 1.0 中的键合并 2 个 xml 节点,但不幸的是我没有得到任何结果。
这是 XML 输入:
<?xml version="1.0" encoding="UTF-8"?>
<csv>
<line>
<field>DE</field>
<field/>
<field>DE:STN</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
<line>
<field>DE</field>
<field>DE:MWST</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
<line>
<field>SI</field>
<field/>
<field>SI:MSPRS</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
<line>
<field>BE</field>
<field>BE:BTW</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
</csv>
在合并具有相同行/字段 [1] 作为键的行时,我应该有以下 XML 输出,但保留行之间的行/字段 [i] 值的顺序非常重要:
<?xml version="1.0" encoding="UTF-8"?>
<csv>
<line>
<field>DE</field>
<field>DE:MWST</field>
<field>DE:STN</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
<line>
<field>SI</field>
<field/>
<field>SI:MSPRS</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
<line>
<field>BE</field>
<field>BE:BTW</field>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
<field/>
</line>
</csv>
如果你能告诉我如何解决这个问题,那就太好了:)! 非常感谢!
【问题讨论】:
-
提示:这是一个分组问题。从这里开始:jenitennison.com/xslt/grouping/muenchian.html,如果您在实现中遇到特定问题,请返回。
-
此外,从您的示例中不清楚当合并的行在同一字段中具有冲突的值时会发生什么。
-
@michael.hor257k 我确实尝试过使用 Muenchian 分组,但我成功的只是将双线与所有子节点字段放在一条大线上,但范围是输出中相同数量的子字段,并将字段 [2] / 字段 [3] 值放在一行中。在行之间具有相同字段 [1] 的条目上只能存在字段 [2] 或字段 [3]。不幸的是,我已经失去了所有尝试,现在我无法提供有效的 xsl。我一重做就回来。谢谢!