2014-01-29 103 views
0

築巢我有一個XML看起來像:C#:添加元素,第二次在XML

<users> 
    <user id="0"> 
    <name>John</name> 
    <lastName>Smith</lastName> 
    <bills> 
     <bill id="0"> 
     <name>Water</name> 
     <forMonth>2013-12-01</forMonth> 
     <money>235</money> 
     <lastDayToPay>2014-01-02</lastDayToPay> 
     <payed>False</payed> 
     </bill> 
     <bill id="1"> 
     <name>Telephone</name> 
     <forMonth>2013-11-01</forMonth> 
     <money>690</money> 
     <lastDayToPay>2014-01-01</lastDayToPay> 
     <payed>True</payed> 
     </bill> 
    </bills> 
    </user> 

如何爲用戶添加新的法案,我有問題訪問「法案」節點,並添加元素,它。我正在使用C#。

+2

顯示你的代碼。 – MarcinJuraszek

+1

看看'System.Xml.Linq' [XDocument Class](http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument(v = vs.110).aspx) – Harrison

+2

Hi @Carl,我注意到你提出了許多低質量或可疑質量的建議編輯。像if語句或嵌套的問題添加到問題是完全沒有意義的;這些標籤增加了零值或可搜索性。請不要這樣做;請參考編輯指南來檢查一個好的建議編輯,例如[我如何正確標記我的問題?](http://meta.stackexchange.com/q/18878)謝謝! –

回答

1

使用下面的代碼

  XmlDocument myDocument = new XmlDocument(); 
      myDocument.Load(XMLFile); 
      XmlNode newNode = myDocument.CreateElement("bill"); 
      //add values; 
      var requiredNode = myDocument.ChildNodes.OfType<XmlElement>().Where(o => o.Name == "bills").First(); 
      requiredNode.AppendChild(newNode); 
      myDocument.Save(XMLFile); 
+0

感謝這一個,但有沒有機會得到它,而不使用LINQ?謝謝 – ajduk

+0

@ajduk在你的問題中沒有什麼說你不能使用linq?無論如何,你爲什麼有這個限制? –

+0

是的,你可以把foreach循環放在myDocument.ChildNodes –