2012-05-12 52 views
2

我是LINQ-to-XML的新手,我試圖學習查詢結構。我有以下XML:LINQ-to-XML選擇根內的標籤

<?xml version="1.0" encoding="utf-8"?> 
<list> 
    <item> 
    <due>07 May 2012</due> 
    <name>Name</name> 
    <desc>Description</desc> 
    <colour>White</colour> 
    </item> 
    <item> 
    <due>12 May 2012</due> 
    <name>Name2</name> 
    <desc>Desc2</desc> 
    <colour>White</colour> 
    </item> 
</list> 

我試圖刪除<item>元素與查詢:

Dim DeleteItems = From e In Root.Elements("list") Where e.Element("name").Value = Text

但是它無法正常工作。我認爲它試圖在文件的根目錄中選擇名爲<item>的標籤,但它需要在<list>元素中選擇<item>標籤 - 我不知道該怎麼做。

回答

0

我假設Root是你的XDocument對象名稱。

更改ElementsDescendants它應該工作。

Dim DeleteItems = From e In Root.Descendants("item") Where e.Element("name").Value = Text 
+0

是的 - 我從來沒有見過你回答過,但是,幸好我這次親身體會到了這一點。我提到了所選項目的第一個索引(名稱),以確保它不僅僅是使用任何東西。謝謝! – ToshNeox