利用xslt将一个xml格式转化为另一个xml格式

来源:互联网 发布:方正字库官网 mac 编辑:程序博客网 时间:2024/06/13 05:56

  出于需求,急需将XML从一个格式转化为另一个格式。我遇到的问题,写段程序实现起来还是比较简单的,但还是借机学习下XSLT吧,好向师兄靠拢。

 

  一:不编程实现XML转换

  好,大家注意了,如果你已经对XSLT灰常了解了,仅仅想知道不通过编程,怎样将XML文档利用XSLT转化为另一个XML文档,那么请使用xsltproc,有一些linux发行版直接可以运行该命令,如果不行,就安装它吧。

 

  二:学习使用XSLT

  以下一段对XSLT 的描述被网上广泛传播,但我并不保证它就百分之百的准确,不过如果你也是xslt的初学者,它会有所帮助:

  XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。

 

  ok,下面是一些有用的链接,用于帮助你学习XSLT的语法规则:

  W3C的官方文档:http://www.w3.org/TR/xslt

  W3School从W3C翻译来的一篇快速入门教程:http://www.w3school.com.cn/xsl/index.asp

 

  三:一些小问题的解决

  接下来,总结一些问题,或许可以节省你一些时间。

  问题1:XSLT如果判断某节点的属性值是否符合要求?

  答: 用“@”表示属性,例如判断一个名为“name”的属性,可以写成

 

  问题2:在新文档中生成一个节点?

  答:普通节点直接可以直接写出来,教程里写的很清楚了。不过也可以通过<xsl:element>来生成节点,可以写成

 

  问题3:利用XSLT新生成(转换)的XML文档没有缩进,以及中文乱码等问题。 

  答:利用<xsl:output>来解决,可以写成

 

  问题4:xsltproc如何使用?

  答:运行命令xsltproc -o out.xml in.xsl in.xml(out.xml为输出文件,in.xml为输入文件)。

  先总结到这里吧。

 

  neonlight <neonlight@live.cn>,BLOG:http://blog.csdn.net/neonlight  转载请注明出处,谢谢!2010-09-15