首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

xslt 批改xml文件

2012-12-18 
xslt 修改xml文件本帖最后由 Leo_red 于 2012-10-14 15:56:49 编辑学习xslt,有一个小功能想实现,但是怎么

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……

给力

热点排行