我已经很久没有操作过原始的XML了。我曾经使用过XmlDocument,记得有一种叫做XDocument的东西开始进化,但那是几年前的事了。在这些日子里,M$推荐什么?
提前感谢
发布于 2010-09-02 01:44:15
XDocument是LINQ to XML的一部分--现在我99%的XML工作都会用到它。
LINQ to XML并不完全像它听起来那样--例如,它并不是LINQ to SQL那样的LINQ提供程序。它是一个XML API,被设计成可以很好地处理LINQ to对象。它支持声明式构造模型,它的查询非常适合LINQ to Objects,让你可以很容易地找到元素、属性等。
哦,它的名称空间支持非常简单:
XNamespace ns = "http://some.url.here";
XElement element = new XElement(ns + "elementName");基本上它是可爱的-在大多数情况下,它比使用XmlDocument和XmlReader要好得多。偶尔,XmlReader可能对提高流传输效率很有用,但您可以从XmlReader创建一个XElement,它只读取"current“元素,并将XmlReader定位在它之后。这允许某种具有LINQ to XML优点的“结构化流”,只要一次只需要一个元素(当然还有任何子元素)。
关于eidylon的回答: C#不支持XML文本;它认为一种语言不应该直接涉及特定的技术。你认为这是一件多大的事情,这是个人问题:)
发布于 2010-09-02 01:44:45
哪种语言?在VB.NET中,推荐的方式是使用XML字面量和相关的属性/方法。
例如:
Dim x = XElement.Parse("<some valid xml string>")
Console.WriteLine(x.<someNode>.<someChild>.value)将写出根目录下someNode下的someChild节点的值。我不确定C#是否具有相同的结构,即能够像这样直接查询节点/属性。
https://stackoverflow.com/questions/3620713
复制相似问题