我需要将顺序XML节点列表转换为层次结构,但我遇到了一些特定于XSLT的知识差距.输入XML包含文章,颜色和大小.在下面的示例中,'Record1'是一篇文章,'Record2'代表一种颜色,'Record3'代表大小.颜色和大小(record2和record3)元素的数量可以变化.
<root>
<Record1>...</Record1>
<Record2>...</Record2>
<Record3>...</Record3>
<Record3>...</Record3>
<Record2>...</Record2>
<Record3>...</Record3>
<Record3>...</Record3>
<Record3>...</Record3>
<Record3>...</Record3>
<Record1>...</Record1>
<Record2>...</Record2>
<Record3>...</Record3>
<Record3>...</Record3>
<Record2>...</Record2>
<Record3>...</Record3>
<Record3>...</Record3>
<Record3>...</Record3>
<Record3>...</Record3>
</root>
Run Code Online (Sandbox Code Playgroud)
所有字段都在相同的层次结构级别,但我仍然需要创建此结构作为输出:
<root>
<article> -> Record1
<color> -> Record2
<size>...</size> -> Record3
<size>...</size> -> Record3
</color>
<color> -> Record2
<size>...</size> -> Record3
<size>...</size> -> Record3
<size>...</size> -> Record3
<size>...</size> -> Record3
</color>
</article>
<article> -> Record1
<color> -> Record2
<size>...</size> -> Record3
<size>...</size> -> Record3
</color>
<color> -> Record2
<size>...</size> -> Record3
<size>...</size> -> Record3
<size>...</size> -> Record3
<size>...</size> -> …
Run Code Online (Sandbox Code Playgroud) 有人可以帮我弄这个吗?我有一个biztalk映射.在源方案中,有两个带地址元素的地址记录.地址记录1始终存在于源方案中,但如果源中存在地址记录2,我想将其映射到目的地而不是地址记录1.这可能吗?