【发布时间】:2019-11-20 12:29:06
【问题描述】:
需要在 XSL 中进行分组以获得所需的 XML 输出
源 XML 是:
<DATA_DS>
<G_REQUEST_ID>3060814</G_REQUEST_ID>
<LIST_PROJECT_ERROR>
<PROJECT_ERROR>
<PROJECT_ERROR_LINE>1</PROJECT_ERROR_LINE>
<ERROR_PROJECT_NUMBER>SB100000223</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error1</PROJECT_ERR_MSG>
</PROJECT_ERROR>
<PROJECT_ERROR>
<PROJECT_ERROR_LINE>2</PROJECT_ERROR_LINE>
<ERROR_PROJECT_NUMBER>SB100000223</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error2</PROJECT_ERR_MSG>
</PROJECT_ERROR>
<PROJECT_ERROR>
<PROJECT_ERROR_LINE>3</PROJECT_ERROR_LINE>
<ERROR_PROJECT_NUMBER>SB100000225</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error5</PROJECT_ERR_MSG>
</PROJECT_ERROR>
<PROJECT_ERROR>
<PROJECT_ERROR_LINE>4</PROJECT_ERROR_LINE>
<ERROR_PROJECT_NUMBER>SB100000225</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error6</PROJECT_ERR_MSG>
</PROJECT_ERROR>
</LIST_PROJECT_ERROR>
</DATA_DS>
所需的输出 XML 是:
<DATA_DS>
<G_REQUEST_ID>3060814</G_REQUEST_ID>
<LIST_PROJECT_ERROR>
<PROJECT_ERROR>
<ERROR_PROJECT_NUMBER>SB100000223</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error1</PROJECT_ERR_MSG>
<PROJECT_ERR_MSG>Error2</PROJECT_ERR_MSG>
</PROJECT_ERROR>
<PROJECT_ERROR>
<ERROR_PROJECT_NUMBER>SB100000225</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error5</PROJECT_ERR_MSG>
<PROJECT_ERR_MSG>Error6</PROJECT_ERR_MSG>
</PROJECT_ERROR>
</LIST_PROJECT_ERROR>
</DATA_DS>
请为每个循环提供 xsl 2.0 使用。需要在 Oracle ICS 中使用此转换。
对于在 cmets 中添加问题,我深表歉意。 需要连接组中重复元素的值。需要保留单个元素以进行重复。需要指导。
需要的输出是
<DATA_DS>
<G_REQUEST_ID>3060814</G_REQUEST_ID>
<LIST_PROJECT_ERROR>
<PROJECT_ERROR>
<ERROR_PROJECT_NUMBER>SB100000223</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error1+Error2</PROJECT_ERR_MSG>
</PROJECT_ERROR>
<PROJECT_ERROR>
<ERROR_PROJECT_NUMBER>SB100000225</ERROR_PROJECT_NUMBER>
<PROJECT_ERR_MSG>Error5+Error6</PROJECT_ERR_MSG>
</PROJECT_ERROR>
</LIST_PROJECT_ERROR>
</DATA_DS>
【问题讨论】:
-
请提出具体问题。
-
应用程序不允许我只发布代码。所以我添加了文字。需要将源 xml 转换为目标 xml。需要一个解决方案。
-
“需要解决方案”不是问题。