我想知道如何使用 xsl 模板将我的 xml 文档转换为另一个具有原始元素层次结构的 xml 文档。我还想为新生成的 XML 中的元素添加一些属性。
我的原始 XML 文件如下所示:
<shop>
<product>
<cookie ID="001">
<price>2</price>
</cookie>
</product>
<product>
<bread ID="002">
<price>5</price>
</bread>
</product>
<product>
<milk ID="003">
<price>2</price>
</milk>
</product>
</shop>
我想将其转换为以下 XML:
<newXML>
<newElement>
<newElement ID="001">
<newElement price="2"/>
</newElement>
</newElement>
<newElement>
<newElement ID="002">
<newElement price="5"/>
</newElement>
</newElement>
<newElement>
<newElement ID="003">
<newElement price="2"/>
</newElement>
</newElement>
</newXML>
什么是这样做的好方法?这可以使用带有模板的递归来完成,还是有更好的方法?我一直在尝试使用以下逻辑:
- 制作一个创建元素的模板
- 读取当前元素 ID(如果存在)并将其放入 newElement
- 如果当前元素有一个子元素,则将此模板应用于它(某种递归)
尽管进行了多次尝试,但我仍然无法完成这项工作。您的帮助将不胜感激!