2012-12-15 42 views
1

我有下面的XML文檔:通過xAttribute值刪除的XElement

<?xml version="1.0" encoding="utf-8"?> 
<Categories> 
    <title> 
    <Type name="James"> 
     <Field name="ref" value="79" /> 
     <Field name="titleref" value="55" /> 
    </Type> 
    </title> 
</Categories> 

我想刪除所有的「標題」如果textBox1的文本匹配

我有以下的,我知道它不」但是我想看看你是否能看到我的邏輯。

xmldoc.Root.Elements().Where(x => x.Element("Type")).Where (x => x.Attribute("name").Value.Equals(textBox1.Text)).Select(x => x).Single().Remove(); 

任何幫助將是巨大的

感謝

回答

2

您可以使用XPath(System.Xml.XPath)

xmldoc.XPathSelectElements(String.Format("//Type[@name='{0}']", textBox1.Text)) 
     .Remove(); 
0
xmldoc.Root.Descendants("Type") 
    .Where(x => x.Attribute("name").Value == textBox1.Text) 
    .Remove();