0

次のようなXMLドキュメントがあります

<Settings>
    <Config>
       <type>stuff</type>
       <length>stuff</length>
        <ID>1</ID>
     </Config>
</Settings>

私はそれに追加しようとしています

Document loadedDoc = XDocument.Load (file);
loadedDoc.Element("Settings").Add(new XElement("Config"),
                                  new XElement("type", "stuff"),
                                  new XElement("length", "stuff"),
                                  new XElement("ID", "2"));
loadedDoc.Save(file);

これを行うときに得られるのは

<Settings>
    //the other configs hidden for readability
     <Config />  <--- WHAT DO?! 0_o
     <type>stuff</type>
     <length>stuff</length>
     <ID>2</ID>
</Settings>

linq に精通した誰かが、そのような空の構成要素を作成するために私が間違っていることを教えてもらえますか? ありがとう!

4

3 に答える 3

4

「Settings」コンストラクターではなく、「Config」要素のコンストラクターを介してサブ要素を追加する必要があります。

loadedDoc.Element("Settings").Add(new XElement("Config",
                             new XElement("type", "stuff"),
                             new XElement("length", "stuff"),
                             new XElement("ID", "2")));
于 2013-05-06T15:29:45.067 に答える
3

これは、Config ではなく Settings に追加しているためです。

試す:

  loadedDoc.Element("Settings").Add(
        new XElement("Config",
                     new XElement("type", "stuff"),
                     new XElement("length", "stuff"),
                     new XElement("ID", "2")));
于 2013-05-06T15:29:59.680 に答える
1

これを試して

XDocument loadedDoc = XDocument.Load(file);

        loadedDoc.Element("Settings").Add(new XElement("Config"));
        loadedDoc.Element("Settings").Element("Config").Add(            
                                     new XElement("type", "stuff"),
                                     new XElement("length", "stuff"),
                                     new XElement("ID", "2"));

        loadedDoc.Save(file);
于 2013-05-06T15:32:46.263 に答える