2010-09-01 55 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#是否具有可以直接查詢這樣或不是這樣的節點/屬性的相同構造。

相關問題