使用 LINQtoXML 代替 XSLT 进行 XML 转换

  • Jonathan Allen
  • 朱永光

2007 年 7 月 31 日

话题:.NET语言 & 开发

把 XML 从一种格式转换为另外一种格式是很多开发人员的常见任务。为了完成这个工作,他们的很多人只好放弃自己熟悉的通用语言,通过调用 XSLT 函数库来实现。那么,有什么方法可以不这样做吗?

通过 LINQ to XML,使用 C# 和 VB 来操纵 XML 将变得非常容易。Eric White 描述了如何使用 C# 3.0 来完成 XSLT 样式转换。

Eric 方法的关键是使用额外的信息对 XML 节点进行注释。不改变(XML)树的结构,而是依靠 XElement 把待处理的改变保存为注释,来替换(XML)树的结构。Eric 写道:

使用这种方法的一个好处——当你构思查询的时候,你总是基于不可编辑的源树来编写查询。你不需要担心树的变更会影响你编写的查询。

一旦所有待处理的改变都生成后,它们同时被处理。这是透过 XForm 的功能来实现的,XForm 创建了树的一个副本,在适当的时候进行替换。你可以继续深入了解这项技术,或者从 Eric White 的博客上下载 XForm 函数。

查看英文原文:Using LINQ to XML Instead of XSLT for Transformations

.NET语言 & 开发