2011-09-30 67 views
2

我怎樣才能從這種的XElement獲得的第一個元素我怎麼能得到的XElement的第一個元素

<outline title="Javascript" text="Javascript"> </outline> 

<outline title="Javascript" text="Javascript"> 
<outline text="j" title="j" type="rss" xmlUrl="http://wwww.Java.com/rss2.xml"/> 
</outline> 

這是我的代碼

var desireXElement =existXElement.Where(w => (string) w.Attribute("title") == "Javascript").FirstOrDefault(); 
+0

對不起,我不明白是什麼問題,如果你有已經的XElement,爲什麼你需要搜索它?我看到的輸入唯一的變化是子元素「outline」被刪除。你想從原始元素中刪除它嗎?或者你想從副本中刪除孩子嗎?也許做XElement desiredElement = new XElement(existsXElement.DescendantsAndSelf(「outline」)。First(el => el.Attribute(「title」)。Value ==「Javascript」)); desiredElement.Nodes()。Remove();'ias你想要的,它搜索帶有該標題的第一個「大綱」,創建一個副本,刪除子項 –

+0

我想只選擇第一個沒有子元素的元素。它。 tanx –

回答

3

你可以選擇沒有包含其子節點的節點的節點。這樣的「選擇」將相當於一個突變。你可以創建一個新的XElement這是一個副本,然後變異的新: -

var desireElement = new XElement(existXElement.Where(w => (string)w.Attribute("title") == "Javascript").First()); 

desireElement.RemoveNodes(); 
相關問題