2013-11-01 137 views
0

我一直在编写一个使用XDocument来编写XML文件的程序。测试程序的结构是:
使用LINQ添加和删除XDocument元素及其子元素

<SchoolData storeName="mikveIsrael" location="mikve"> 
    <employee id="1"> 
     <personalInfo> 
      <name>Ilan Berlinbluv</name> 
      <zip>58505</zip> 
     </personalInfo> 
     <employeeInfo> 
      <salary>5000</salary> 
      <id>1</id> 
     </employeeInfo> 
    </employee> 
    <employee id="2"> 
     <personalInfo> 
      <name>Noam Inbar</name> 
      <zip>58504</zip> 
     </personalInfo> 
     <employeeInfo> 
      <salary>4500</salary> 
      <id>2</id> 
     </employeeInfo> 
    </employee> 
    <employee id="3"> 
     <personalInfo> 
      <name>Adi Raiten</name> 
      <zip>58503</zip> 
      </personalInfo> 
     <employeeInfo> 
      <salary>5000</salary> 
      <id>3</id> 
     </employeeInfo> 
    </employee> 
</SchoolData> 

到目前为止,我的测试程序写入,要Employee.xml我的桌面上。我还可以使用XDocument.Load()从XML读取数据,并解析不同的信息。然而,我不知道如何添加或删除元素(我想添加的元素是<employee>,它包含所有元素,例如名称等。有人可以指出我如何完成这项工作的正确方向吗?

+0

可能重复。 com/questions/7931650 /添加元素到一个xml-file-in-c-sharp) –

回答

2

将元素添加到XML是非常简单的使用右缩进,你甚至可以看到在你的代码的XML结构://计算器:的[在C#中添加元素到一个XML文件(HTTP

XDocument doc = XDocument.Load(fileName); 

doc.Root.Add(new XElement("employee", new XAttribute("id", 42), 
       new XElement("personalInfo", 
        new XElement("name", "Arthur Dent"), 
        new XElement("zip", "00000")), 
       new XElement("employeeInfo", 
        new XElement("salary", 0), 
        new XElement("id", 3)))); 

doc.Save(fileName); 
+0

删除元素怎么样?我要去掉'id'属性并使用'name'元素来查看要删除哪些元素?有没有办法找到元素的含义?一个特定的名称并删除它? (删除'员工'元素) – Ilan321

+0

啊,没关系,我明白了。谢谢您的帮助! :) – Ilan321