2014-04-04 31 views
-1

有人可以告訴我如何查詢下面的XML使用LINQ來獲取由約翰寫的書的名稱。我是完全新的LINQ,這將是偉大的如果你能幫我解決這個問題。 我試圖寫一些查詢,但它沒有奏效。需要幫助來查詢一個複雜的XML使用LINQ爲複雜的XML結構

<Library> 
<Name>Central Library</Name> 
<Address> 
<Place>West Fort</Place> 
<Pin>0088</Pin> 
</Address> 
<Books> 
<Book> 
    <Name>Book1</Name> 
    <Specifications> 
    <Specification> 
     <Name>status</Name> 
     <value><![CDATA[available]]></value> 
    </Specification> 
    <Specification> 
     <Name>Author</Name> 
     <value><![CDATA[John]]></value> 
    </Specification> 
    </Specifications> 
</Book> 
<Book> 
<Name>Book2</Name> 
    <Specifications> 
    <Specification> 
    <Name>status</Name> 
    <value><![CDATA[Not available]]></value> 
    </Specification> 
    <Specification> 
    <Name>Author</Name> 
    <value><![CDATA[Smith]]></value> 
    </Specification> 
</Specifications> 
</Book> 
<Book> 
<Name>Book3</Name> 
<Specifications> 
    <Specification> 
    <Name>status</Name> 
    <value><![CDATA[Not available]]></value> 
    </Specification> 
    <Specification> 
    <Name>Author</Name> 
    <value><![CDATA[John]]></value> 
</Specification> 
</Specifications> 
</Book> 
</Books> 
</Library> 

回答

0

你可以這樣說:

var xmlDocument = XDocument.Load("Xml filePath"); 

var books = xmlDocument 
      .Descendants("Specification") 
      .Where(x => ((string) x.Element("value")).Contains("John")) 
      .Select(x => x.Parent.Parent); 

但是要記住,你不應問code.First你應該做一些研究,閱讀文檔&教程,花一些功夫那麼如果你有問題放棄你的嘗試,你應該來問這些具體的問題。