2011-05-19

[C#] XMLプログラミング ~XMLファイルの作成~

とりあえず、一番シンプルで直感的なDOMツリーによる作成方法を以下に示します。

            XmlDocument xmlDocument = new XmlDocument();

            XmlElement root = xmlDocument.CreateElement("root");
            xmlDocument.AppendChild(root);

            //1つめのitemエレメント
            XmlElement item_elem = xmlDocument.CreateElement("item");
            item_elem.SetAttribute("id", "1");
            //item_elem.Value = "直接値を入れてみる"; //これはできません
            root.AppendChild(item_elem);
            
            XmlElement item_elem2 = xmlDocument.CreateElement("item");
            XmlNode name_node = xmlDocument.CreateNode(XmlNodeType.Text, "", "");
            name_node.Value = "値を入れる";
            item_elem2.AppendChild(name_node);
            root.AppendChild(item_elem2);
            xmlDocument.Save("c:\\temp\\test.xml");

XmlElement とXmlNode の使い分けがわかりにくいかもしれませんが、属性を持つようなノードについてはXmlElement を使ってください。またノードの値については、XmlElement に直接設定することはできません。上記のように、XmlNode に値をいれて子要素としてください。「値も1つのテキストノードである」と考えると理解しやすいと思います。

0 件のコメント:

コメントを投稿