【发布时间】:2011-02-07 18:51:32
【问题描述】:
我有一个如下所示的 XML 文件:
<a>
......
<b>
<c>
<c1>some text</c1>
</c>
<d>
<d1>some more text</d1>
<d1>even more text</d1>
</d>
<e>
<e1>some more text</e1>
<e1>even more text</e1>
</e>
</b>
</a>
我想将元素 <d> 和 <e> 包装到 <wrapper> 元素中,所以我可以有如下内容:
<a>
......
<b>
<c>
<c1>some text</c1>
</c>
<wrapper>
<d>
<d1>some more text</d1>
<d1>even more text</d1>
</d>
<e>
<e1>some more text</e1>
<e1>even more text</e1>
<e2>even more</e2>
</e>
</wrapper>
</b>
......
</a>
我面临的一个问题(除了我是 XSLT 的新手)是 <d> 和 <e> 都是可选的。
我该怎么做?
【问题讨论】:
-
好问题,+1。请参阅我的完整答案,使用最基础和最强大的 XSLT 设计模式:身份规则的使用和覆盖。
-
为了正确定义这个分组问题,我认为你应该澄清元素是否必须是下一个兄弟姐妹(组相邻)或顺序不计数(按模式分组)。