2017-07-28 51 views
-4
<Content> 
    <Field Title="123"> 
     <Description>...</Description> 
     <Comment>...</Comment> 
    </Field> 
    <Field Title="654"> 
     <Description>....</Description> 
     <Comment>...</Comment> 
    </Field> 
    <Field Title="789"> 
     <Description>...</Description> 
     <Comment>...</Comment> 
    </Field> 
    <Field Title="210"> 
     <Description>...</Description> 
     <Comment>...</Comment> 
    </Field>  
</Content> 

您好,我想提取所有現場節點屬性名稱值轉換成使用LINQ的列表。所以列表必須包含「123」,「654」,「789」,「210」任何人都可以給我一個解決方案嗎?選擇-Linq的所有屬性值,爲xml

我嘗試這樣做:

var fldLst = from myEl in myXmlDoc.Root.Descendants() 
     where myEl.Name.LocalName 
     select (string)myEl.Attribute("title"); 

其中myXmlDoc是XML文檔。

+4

歡迎。你的問題本質上是一系列的要求_。 [問] – MickyD

+1

請顯示你的嘗試,解釋什麼是不工作,你已經試圖解決它 –

+0

我試過這個: var fldLst = myEl in myXmlDoc.Root.Descendants() where myEl.Name .LocalName select(string)myEl.Attribute(「title」); 其中myXmlDoc是XML文檔。 – TTORNADE

回答

0

您需要使用DescendantsAttribute方法:

var result= doc.Descendants("Field").Select(e=>(string)e.Attribute("Title")).ToList();