2016-11-18 19 views
-3

私は自分のプロジェクトに文字列配列を持っています。これをxmlに追加したいと思います。XMLファイルに文字列を書き込めないのはなぜですか?

XML構造は次のとおりです。

<data> 
    <list> 
     <item/> <== array 
    </list> 
    </data> 

と私の配列は次のとおりです。

string[] strArr = ["a", "b"]; 

私のコード

   XDocument xml = XDocument.Load(@"myxml.xml"); 
       foreach (var str in strArr) 
       { 
        var list = xml.Root.Element("list"); 
        list.Add(new XElement("item", str)); 
       } 

アップデート質問:

私も理由を知りたいです私はxmlを得ることができません文字列配列。..

  var strs= from elements in xml.Elements("data").Elements("list") select elements; 

      foreach (var str in strs) 
      { 
       string item= id.Element("item").Value; 
       strList.Add(item); 

      } 

答えて

1

初期XMLファイルの内容に:あなたはSave関数呼び出しが欠落している

string[] strArr = {"a", "b"}; 
XDocument xml = XDocument.Load(@"myxml.xml"); 
foreach (var str in strArr) 
{ 
    var list = xml.Root.Element("list"); 
    list.Add(new XElement("item", str)); 
} 
xml.Save(@"myxml.xml"); 

以下のよう

<data> 
    <list> 

    </list> 
</data> 

コードを変更します。文字列の配列に要素を追加するための

var strs = from elements in xml.Root.Element("list").Elements("item") select elements; 
foreach (var str in strs) 
{ 
    string item = str.Element("item").Value; 
    strList.Add(item); 
} 
+0

あなたは私の更新の質問のために助けることができますか? – MRWonderFuXker

+0

@MRfuxkあなたの編集のため。あなたはルートを忘れました、 'xml.Root.Elements // ...'; *(ソース・セレクト要素の要素からの副次的な注釈は単に 'source'となります)* – Sehnsucht

関連する問題