gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 02:04:10 25 4
gpt4 key购买 nike

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

它以 XML 格式存储用户条目

<?xml version=""1.0""?> <Answers>  
<AnswerSet> <Answer questionId=""MRN"">4444</Answer>
<Answer questionId=""FName"">test</Answer>
<Answer questionId=""LName"">patient</Answer>
<Answer questionId=""AddressPt"">blah blah</Answer>
<Answer questionId=""Governorate"">xxxx</Answer>
<Answer questionId=""InitialCSF"">Negative</Answer>
<Answer questionId=""Diagnosis""></Answer>
<Answer questionId=""Description""> </Answer>
</AnswerSet>
<AnswerSet>
<Answer questionId=""MRN"">1</Answer>
<Answer questionId=""FName"">1</Answer>
<Answer questionId=""LName"">1</Answer>
<Answer questionId=""AddressPt"">1</Answer>
<Answer questionId=""InitialCSF"">Positive</Answer>
<Answer questionId=""Diagnosis"">dx</Answer>
<Answer questionId=""Description""> </Answer>
</AnswerSet> </Answers>

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

最佳答案

我更喜欢使用 XDocument ,因为您可以简单地搜索它并更改元素或属性:

XDocument doc1 = XDocument.Parse("<AnswerSet> <Answer questionId=\"10\" FName=\"test\"> </Answer></AnswerSet> ");
// 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 元素,

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

找到包含属性 FName 且属性值等于 test 的元素,最后是 SingleOrDefault,说你应该只有一个这样的元素,你也可以改变它(只需调用ToList())来找到所有相关的元素,最后在if我会改变元素的值,同样在最后我们用改变的值再次保存它。

这门语言(linq2xml)太简单了,DescendantElements 等函数在里面大部分都使用了完整的函数,所以不需要有特殊的知识就可以知道这个函数就可以解决很多问题。

关于c# - 使用 ASP.net 和 VB.net(或 C#)编辑和删除 XML 文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com