使用XSLT将FF转换为Deep xml

2020-09-29 18:07发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在尝试将平面文件转换为XSLT中加深的xml结构。

在嵌套循环的情况下,请您帮我一下。

我的Source xml是:

<?xml版本=" 1.0"编码=" UTF-8"?>






a


1


b


2


输出应如下:

<?xml版本=" 1.0"编码=" UTF-8"?>




< B>
a

1


b

2


重复B和C段。在每个B节点下,相应的C节点应在目标中重复。

当我尝试在xslt中为B下的C节点编写内部循环时。 每个B的所有C节点都在重复。

能否请您在XLST中提出建议以实现所需的输出

谢谢

Shameer

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正在尝试将平面文件转换为XSLT中加深的xml结构。

在嵌套循环的情况下,请您帮我一下。

我的Source xml是:

<?xml版本=" 1.0"编码=" UTF-8"?>






a


1


b


2


输出应如下:

<?xml版本=" 1.0"编码=" UTF-8"?>




< B>
a

1


b

2


重复B和C段。在每个B节点下,相应的C节点应在目标中重复。

当我尝试在xslt中为B下的C节点编写内部循环时。 每个B的所有C节点都在重复。

能否请您在XLST中提出建议以实现所需的输出

谢谢

Shameer

付费偷看设置
发送
6条回答
Cikesha
1楼-- · 2020-09-29 19:04

嗨,沙米尔!

在上面的示例中,我看不到每个B和C元素之间的任何链接,只有相对位置-元素C在元素B之后。您可以尝试以下同级 :: C [1] xPath表达式可以使第一个C元素停留在B元素之后,但是请记住,如果更改消息中的元素顺序,它将停止工作。

,Evgeniy。

小灯塔
2楼-- · 2020-09-29 19:03

我的意思是,您希望将每个C节点放置在文档的每个B节点下。 但是,您之前说过,您将其置于内部循环中,这是错误的。

因此,请澄清一下如何将C节点放置在B节点下。

关于Evgeniy

葫芦娃快救爷爷
3楼-- · 2020-09-29 19:05

嗨,Evgeniy!

您是正确的,B节点与C之间没有链接。 nodes.As 您说

following-sibling :: C [1] 将获得第一个C元素。 但是在我的情况下,B和C的出现是0..unbounded,顺序改变了。B和C的节点数会有所不同。

示例:在Source中,我们可以得到一个B节点和三个C节点。 输出应该是所有C节点都应位于B下,如下所述

源xml:







a < br>


1


2


3


输出:







a < br>
1


2


3


非常感谢Evgeniy的建议和投入。

Br,

Shameer

打个大熊猫
4楼-- · 2020-09-29 18:51

嗨Shameer!

这是否意味着您的输出应在每个B节点下包含所有C节点? 或者,请进一步阐明您的要求。

Evgeniy。

悠然的二货
5楼-- · 2020-09-29 18:50

嗨,Evgeniy,

是的。 在输出中,所有C节点都将位于B之下。

CJones
6楼-- · 2020-09-29 18:47

嗨,Evgeniy,

讨论后,我们的要求有所变化。 让我明确要求。

记录... 1。无界

RR..0..1

L..0..Unbounded

T..0.Unbounded

来源Xml:



R


L
1


T
123



L
2


T
456


T
789



L
3



T
ABC


T
DEF


L
4


T
GHI

目标xml:

R


L
1

T
123



L
2

T
< SAPOrderNumber> 456


T
789



L
3

T
ABC


T
DEF


L
4

希望这很清楚。 如果没有,请通过 shameershaiks@gmail.com 回复或给我发送电子邮件。

非常感谢。

羞耻。


一周热门 更多>