小编n_a*_*e_q的帖子

XSLT 将重复元素拆分为单独的组,同时保留同级元素

我试图将元素组拆分为包含一组唯一元素的组,同时维护拆分中的所有兄弟关系。例如,I\xe2\x80\x99d 类似于以下 xml:

\n\n
<group>\n    <b074>11</b074>\n    <b075>03</b075>\n    <b076>9</b076>\n    <b075>04</b075>\n    <b076>12</b076>\n</group>\n<group>\n    <b074>11</b074>\n    <b075>04</b075>\n    <b076>4</b076>\n</group>\n
Run Code Online (Sandbox Code Playgroud)\n\n

拟转变为:

\n\n
<group>\n    <b074>11</b074>\n    <b075>03</b075>\n    <b076>9</b076>\n</group>\n<group>\n    <b074>11</b074>\n    <b075>04</b075>\n    <b076>12</b076>\n</group>\n<group>\n    <b074>11</b074>\n    <b075>04</b075>\n    <b076>4</b076>\n</group>\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:初始数据中的第一组具有重复元素。例如,该元素<b075>出现两次。我希望第二次出现<b075>在结果中的新组中。这就是我所说的独特集的意思。

\n\n

编辑#2:忘记提及,当第二个<b075>被拉出到自己的组中时,它的兄弟<b074>会被“复制”。这就是我所说的保留兄弟姐妹的意思。

\n\n

编辑#3:(我很抱歉,我应该第一次更彻底地解释这一点)您知道它<b074>属于结果组的方式是因为它发生了一次。原始组中出现一次的所有元素都由所有结果组共享。重复元素也将按顺序列出,这意味着如果 elements<b075><b076>重复,它们将彼此相邻,<b075>,然后立即<b076>。因此,结果组的数量就是此类重复元素块的数量(在本例中为 2)。

\n\n

不幸的是,我是 XSLT 的新手,但我尝试应用XSLT split a tree at ascendent nodeMove seperator elements ups in xml hierarchy 中找到的解决方案的变体,但没有成功,因为它们看起来非常接近我想要完成的目标。

\n\n

我正在使用 1.0 \xe2\x80\x93 2.0 不适合我。任何帮助,将不胜感激。

\n

xml xslt

2
推荐指数
1
解决办法
2001
查看次数

标签 统计

xml ×1

xslt ×1