二十行C#代码打造Ruby Markup Builder
2010-09-30 21:05:26 来源:WEB开发网从.NET诞生之日起就有了XML类库,但是从使用上来说非常不方便。例如我们需要构造一个XML文档时,使用DOM API就要这样搞:
var xmlDoc = new XmlDocument();
var rootEle = xmlDoc.CreateElement("persons");
xmlDoc.AppendChild(rootEle);
var person1 = xmlDoc.CreateElement("person");
person1.InnerText = "Tom";
var person1Age = xmlDoc.CreateAttribute("age");
person1Age.Value = "10";
person1.Attributes.Append(person1Age);
rootEle.AppendChild(person1);
var person2 = xmlDoc.CreateElement("person");
person2.InnerText = "Jerry";
var person2Age = xmlDoc.CreateAttribute("age");
person2Age.Value = "8";
person2.Attributes.Append(person2Age);
rootEle.AppendChild(person2);
别看这么多行代码,但实际上它只构造了这么简单的一个XML:
<persons>
<person age="10">Tom</person>
<person age="8">Jerry</person>
</persons>
我承认,DOM API的确非常严谨(如XmlDocument和XmlElement的归属关系),非常符合定义,也非常的面向对象,但是这易用性也实在太差了。记得在 03还是04年的时候,我为在为项目做一个编辑XML文档的WinForm应用程序,当时也不像现在那么容易想到“偷懒”的法门,而VS 2003也不像VS 2005/2008那么好用,因此可谓做的劳心费神。这个情况在.NET 2.0中也没有得到改变,直到有一天,LINQ to XML随.NET 3.5横空出世,于是乎XML的生活一下子变得美好了很多。例如上面的功能只需寥寥数行便可以实现:
更多精彩
赞助商链接