【发布时间】:2013-06-20 08:10:56
【问题描述】:
我需要转换一个 XML,其中转换规则应仅适用于某些元素,其余部分应照原样复制。 以下是源代码块和预期的 xml 块。
<Object class="Item" version="1.0" distName="A-1/B-1/Item-0">
<p name="sDate">2013-02-11T00:00:00+02:00:00</p>
<p name="present">1</p>
<p name="stopD">2013-02-21T00:00:00+02:00:00</p>
<p name="id">CPU</p>
</Object>
<Object class="Period" version="1.0" distName="A-1/B-1/Item-0/Period-0">
<p name="sHour">0</p>
<p name="sMinute">0</p>
<p name="interval">1</p>
<p name="day">0</p>
</Object>
到
<Object class="Items" distName="A-1/B-1/Items-0">
<p name="IsPresent">1</p>
<p name="StartDate">08-11-2012</p>
<p name="StopDate">29-11-2012</p>
<list name="TimePeriod">
<item>
<p name="id">1</p>
<p name="StartTime">00:00</p>
<p name="day">0</p>
<p name="interval">15</p>
</item>
</list>
<list name="TypeRef">
<p>Diameter</p>
</list>
1. 以上 Object 元素应与另一个基于具有父子层次结构的 distName 的 Object 元素组合。例如:A-1/B-1/Item-0 与 A-1/B-1/Item-0/Period-0
- 映射如下:
- sDate 到 StartDate
- 呈现给 IsPresent
- stopD 到 StopDate
- ID 到 TypeRef 列表
- 另一个源节点应该映射到时间段列表
谁能帮我解决这个问题?
【问题讨论】:
-
为了模板的效率... class="Period" 的对象总是出现在 class="Item" 的对象之后还是可以出现在之前?
-
它可以出现在xml中的任何地方。
-
嗨@KevinBrown,感谢您的帮助开始......如果单个项目有多个期间,如何处理上述问题。例如:A-1/B-1/Item-0 有 A-1/B-1/Item-0/Period-0 和 A-1/B-1/Item-0/Period-1。如何同时考虑并在 Items 下有多个 TimePeriod 列表?