2010-09-01 49 views

回答

3

XDocument是XML LINQ的一部分 - 这是绝对什么我使用XML的99%的工作,这些天。我们可以看到,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,它将只读取“当前”元素,并将XmlReader定位在该元素之后。这允许使用LINQ to XML的好处来进行“结构化流式传输”,只要您一次只需要一个元素(当然还有任何子元素)。

关于eidylon的答案:C#不支持XML文字;它认为语言不应直接涉及XML等特定技术。你认为多大的交易是个人的事情:)

1

哪种语言?在VB.NET中,推荐的方法是使用XML文字和相关的道具/方法。

例如:

Dim x = XElement.Parse("<some valid xml string>") 
Console.WriteLine(x.<someNode>.<someChild>.value) 

将写出来的someChild节点的下someNode根目录下的值。 我不确定C#是否具有可以直接查询这样或不是这样的节点/属性的相同构造。

相关问题