【发布时间】:2017-06-17 18:04:54
【问题描述】:
我必须将一个 XML 文件转换成另一组适合特定需求的文件。转换 XML 并不是什么新鲜事,但将其从元素动态转换为属性有点有趣。
还需要使用子元素的文本值来查询父元素。
这就是我想要实现的(数据是匿名的):
源文件
<PARTS>
<PART>
<Name>Valve</Name>
<Code>1</Code>
<Color>Brown</Color>
</PART>
<PART>
<Name>Filter</Name>
<Code>2</Code>
<Color>Green</Color>
</PART>
<PART>
<Name>Plug</Name>
<Code>3</Code>
<Color>Brown</Color>
</PART>
</PARTS>
转换为目标 XML 文件 1,过滤颜色子元素:
<PARTS>
<PART Name="Valve" Code=1 Color="Brown" />
<PART Name="Plug" Code=3 Color="Brown" />
</PARTS>
转换为目标 XML 文件 2,过滤颜色子元素:
<PARTS>
<PART Name="Filter" Code=2 Color="Green" />
</PARTS>
【问题讨论】:
-
这是基本的 XSLT,没有什么“有趣”的地方。学习使用
xsl:attribute指令,或者——甚至更好地——了解属性值模板。
标签: xml xslt xml-attribute