删除XML标签C#
问题描述:
我的XML是从哪里来的,我必须取出一本书详细删除XML标签C#
<Books>
<bookdetail>
<bookname>ThreeIdiot</bookname>
<bookauthor>chetan bhagat</bookauthor>
<bookid>idi001</bookid>
<isavailable>true</isavailable>
<subscribername>NA</subscribername>
</bookdetail>
<bookdetail>
<bookname>Csharp</bookname>
<bookauthor>Kanitker</bookauthor>
<bookid>Cshar001</bookid>
<isavailable>true</isavailable>
<subscribername>NA</subscribername>
</bookdetail>
<bookdetail>
<bookname>VBbasic</bookname>
<bookauthor>Andrew Parker</bookauthor>
<bookid>idi001</bookid>
<isavailable>true</isavailable>
<subscribername>NA</subscribername>
</bookdetail>
</Books>
现在我要与bookid == Cshar001
删除图书详细信息, 请让我知道任何的LINQ命令使用将搜索并从XML中只删除该标签。
答
可以使用XNode.Remove()
方法为:
var xDoc = XDocument.Load("myfilename.xml");
var xElement = (
from x in xDoc.Root.Elements("bookdetail")
where x.Element("bookid").Value == "Cshar001"
select x
).FirstOrDefault();
xElement.Remove();
xDoc.Save("myfilename.xml");
+0
其中x.Element( “BOOKID”)== “Cshar001” 选择x在这一行给错误 – Vijay 2010-04-21 11:09:56
+0
对不起关于这一点,忘了'.Value'。 – Prutswonder 2010-04-21 11:37:13
看起来这是一门功课 – 2010-04-21 10:22:03