2013-11-01 230 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