使用ASP.net和VB.net(或C#)从XML文件编辑和删除数据

在我的Web应用程序中 ,我有一个名为“answers.xml”的XML文件

它以XML格式存储用户条目

   4444 test patient blah blah xxxx Negative      1 1 1 1 Positive dx     

我可以使用从互联网上下载的DLL文件将数据添加到XML文件中。 我需要一种方法来改变使用ASP.net / VB.net或C#的xml文件中的数据(编辑/删除)

我更喜欢使用XDocument ,因为只需搜索它并更改元素或属性:

 XDocument doc1 = XDocument.Parse("   "); // or if you have related file simply use XDocument doc1 = XDocument.Load(fileFullName); var element = doc1.Descendants("AnswerSet").Elements("Answer") .Where(x => x.Attribute("FName") != null && x.Attribute("FName").Value == "test").SingleOrDefault(); if (element != null) { var attr = element.Attribute("FName"); attr.Value = "Changed"; } doc1.Save(filePath); 

编辑: Descendants("AnswerSet")找到AnswerSet元素,Elements(“Answer”)找到Answer Elements,

 Where(x => x.Attribute("FName") != null && x.Attribute("FName").Value == "test").SingleOrDefault(); 

查找包含属性FName和属性值等于test的元素,最后的SingleOrDefault表示你应该只有一个这样的元素,你也可以改变它(只需调用ToList() )来查找所有相关的元素,最后在if我将更改元素的值,最后我们再次使用更改的值保存它。

这种语言(linq2xml)太简单了,像Descendant这样的函数和Elements大多数都使用了完整的函数,因此不需要具备特殊知识就可以通过了解这些函数来解决许多问题。

您可以使用.Net附带的XmlDocument类。 无需下载任何东西。 或者我会错过什么?

我发现的第一件事是,它适用于VB,但c#的概念保持不变。
http://support.microsoft.com/kb/317662

您可以只加载任何xml文件,然后使用XPath访问任何节点并进行更改。

你看过XmlDataSource控件了吗?