C# 4.0 使用linq在c#中为xml添加新元素和属性

C# 4.0 使用linq在c#中为xml添加新元素和属性,c#-4.0,C# 4.0,这是我的XML文件,我想添加新的“proj”元素和一个基于条件的属性,即项目名称是否已存在: <?xml version="1.0" encoding="utf-8"?> <projects> <proj name="project1"> <file_type Type="internalmeeting">"path1"</file_type> </proj> <proj name="project

这是我的XML文件,我想添加新的“proj”元素和一个基于条件的属性,即项目名称是否已存在:

<?xml version="1.0" encoding="utf-8"?>
<projects>
  <proj name="project1">
    <file_type Type="internalmeeting">"path1"</file_type>
  </proj>
  <proj name="project2">
    <file_type Type="externalmeeting">"path2"</file_type>
  </proj>

</projects>

“路径1”
“路径2”

我可以添加元素,但每次单击“保存”按钮都会添加元素。

在添加新元素之前,您可以检查项目是否存在以下给定名称:

var doc = XDocument.Load(path);
if(!doc.Descendants("proj").Any(x => (string)x.Attribute("name") == projectName))
{
    // add new project
}

那么,您看过C中可用的任何XML API吗?我建议您仔细阅读LINQtoXML。从这里开始:是的,乔恩,我这么做了,实际上我的问题是检查条件。检查什么条件?你说了“条件”,但没有解释你说的是什么条件。请阅读抱歉给您带来不便的问题。我在表单中有一个文本框,当用户输入项目名称代码时,应检查现有节点,并应决定是否添加。好的,那么您收到的答案是否满足此要求?(我觉得不错。)