我想修改Node my XML File,如下所示。
<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>
我可以像这样点击Node:
xmlDoc.SelectSingleNode("/Tasks/Task/Description").InnerText = "My Description";
但是我有多个任务。我如何指出哪个是哪个?我想将任务“完成”的状态从false更改为true。
答案 0 :(得分:0)
您可以通过以下方式遍历每个结果节点:
foreach( XmlNode xn in xmlDoc.SelectNodes("//Tasks"))
{
// Do something
}
在每个节点上执行您需要执行的操作。有关SelectNodes的更多信息:https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.selectnodes%28v=vs.110%29.aspx
如果您可以控制XML的设计,也许您应该考虑为您的任务添加ID。 ID将允许您对特定的Task节点进行更改,而不是通过它们进行迭代或通过Task.Title查找。
你也可以看看这些文章:
说完这一切之后,我觉得你的问题遗漏了更多的信息,关于何时正确地做这件事的标准是什么。你能扩展一些吗?你会得到更好的答案。