C# 如何修改XML节点?
我想修改我的XML文件中的节点,如下所示C# 如何修改XML节点?,c#,xml,C#,Xml,我想修改我的XML文件中的节点,如下所示 <Tasks> <Task> <Title>Title of the Task</Title> <Description>Description of the Task</Description> <Done>false</Done> </Task> <Task> &l
<Tasks>
<Task>
<Title>Title of the Task</Title>
<Description>Description of the Task</Description>
<Done>false</Done>
</Task>
<Task>
<Title>Title of anotherTask</Title>
<Description>Description of anotherTask</Description>
<Done>true</Done>
</Task>
</Tasks>
然而,我有很多任务。我如何指出哪个是哪个?我想将任务“完成”的状态从false更改为true 您可以通过如下方式迭代每个结果节点:
foreach( XmlNode xn in xmlDoc.SelectNodes("//Tasks"))
{
// Do something
}
在每个节点上执行需要执行的操作。有关SelectNodes的更多信息,请单击此处:
如果您对XML的设计有控制权,也许您应该考虑将ID添加到任务中。ID将允许您对特定的任务节点进行更改,而不是遍历它们或按Task.Title查找
您还可以查看以下文章:说了这么多,我觉得你的问题缺少了更多的信息,关于何时正确地做这件事的标准是什么。你能再扩大一些吗?这样你会得到更好的答案。你有没有尝试过谷歌搜索?我很确定
上已经有很多这样的工作示例,所以在你的xpath上设置一个过滤器。可能是重复的嘿,是的,我可以控制XML文件。您将如何实现ID?我想创建一个简单的待办事项列表。这是一个复选框,在CheckedChange事件中,我想将任务从“处理”(Done=false)选项卡移动到“完成”(Done=true)。这是可行的,但是我想更改XML文件中的值。。我不知道该怎么做。我将对ID做一些研究,这似乎是一个好方法。:)在我看来,它可以像:[某个唯一标识符]…完成更改后,不要忘记保存(XmlDocument.save)。请参阅:如果您需要有关XPath的帮助,它将如下所示:“/Tasks/Task[ID=35.00]”。见:
foreach( XmlNode xn in xmlDoc.SelectNodes("//Tasks"))
{
// Do something
}