C#でのXMLファイルの作成と読み込みの実現方法

4316 ワード

1.簡単なXMLファイルを作成テストを容易にするために、まずコンソールアプリケーションを作成します.プロジェクト名はCreateXml、Programです.csコードは以下の通りです.
 
  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace CreateXml
{
    class Program
    {
        static void Main(string[] args)
        {
            Program app = new Program();
            app.CreateXmlFile();         
        }
        public void CreateXmlFile()
        {
            XmlDocument xmlDoc = new XmlDocument();
            //
            XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
            xmlDoc.AppendChild(node);
            //
            XmlNode root = xmlDoc.CreateElement("User");
            xmlDoc.AppendChild(root);
            CreateNode(xmlDoc, root, "name", "xuwei");
            CreateNode(xmlDoc, root, "sex", "male");
            CreateNode(xmlDoc, root, "age", "25");
            try
            {
                xmlDoc.Save("c://data2.xml");
            }
            catch (Exception e)
            {
                //
                Console.WriteLine(e.Message);
            }
            //Console.ReadLine();

        }

        ///

 
        ///  
        ///
 
        ///   xml
        ///  
        ///  
        ///  
        ///
        public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
        {
            XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
            node.InnerText = value;
            parentNode.AppendChild(node);
        }
    } 
}


これにより、Cディスクルートディレクトリの下にdata 2が作成する.xmlファイル、ファイル内容は
 
  


  xuwei
  male
  25


2.マルチノードマルチレベルXMLファイルを作成するには、CreateXmlFile()メソッドを簡単に変更するだけで、次のように変更できます.
 
  
public void CreateXmlFile()
        {
            XmlDocument xmlDoc = new XmlDocument();
            //
            XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
            xmlDoc.AppendChild(node);
            //
            XmlNode root = xmlDoc.CreateElement("Users");
            xmlDoc.AppendChild(root);

            XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
            CreateNode(xmlDoc, node1, "name", "xuwei");
            CreateNode(xmlDoc, node1, "sex", "male");
            CreateNode(xmlDoc, node1, "age", "25");
            root.AppendChild(node1);

            XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
            CreateNode(xmlDoc, node2, "name", "xiaolai");
            CreateNode(xmlDoc, node2, "sex", "female");
            CreateNode(xmlDoc, node2, "age", "23");
            root.AppendChild(node2);

            try
            {
                xmlDoc.Save("c://data5.xml");
            }
            catch (Exception e)
            {
                //
                Console.WriteLine(e.Message);
            }
            //Console.ReadLine();

        }


生成されたxmlファイルの内容は次のとおりです.
 
  


 
    xuwei
    male
    25
 

 
    xiaolai
    female
    23