读书人

xslt 批改xml文件

发布时间: 2012-12-18 12:43:41 作者: rapoo

xslt 修改xml文件
本帖最后由 Leo_red 于 2012-10-14 15:56:49 编辑 学习xslt,有一个小功能想实现,但是怎么做都有问题,请教各位大神:
test.xml内容如下:


<part>
<id>123</id>
<assembly>
<id>456</id>
</assembly>
</part>


我想遍历这个xml,然后给part节点增加一个属性,比如name,变成如下:

<part>
<id>123</id>
<assembly>
<id>456</id>
</assembly>
<name>test</name>
</part>

[最优解释]
可以copy
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='xml'/>
<xsl:template match='/parts'>
<xsl:copy>
<xsl:for-each select='part'>
<xsl:copy>
<xsl:for-each select='node()'>
<xsl:copy-of select='.' />
</xsl:for-each>
<name>test</name>
</xsl:copy>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

[其他解释]
补充一下,我处理的xml文件是一个复杂的树,全部贴出来太多了,所以例子是一个简化的结构。

[其他解释]
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='xml'/>
<xsl:template match='/parts'>
<parts>
<xsl:for-each select='part'>
<part>
<xsl:for-each select='node()'>
<xsl:copy-of select='.' />
</xsl:for-each>
<name>test</name>
</part>
</xsl:for-each>
</parts>
</xsl:template>
</xsl:stylesheet>

[其他解释]
明白了,还是需要手工加标签再去从xml中找数据。
我本来想能不能连标签都从原来的xml文件里面读出来呢。
[其他解释]
引用:
可以copy
XML code
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method='xml'/>
<xsl:template match='/parts'>
<xsl:copy>
<xsl:for-each select……

给力

读书人网 >XML SOAP

热点推荐