본문 바로가기

프로그래밍&IT/C#

C# - XML 작성 기본

XML 작성



IT하다보면 XML과 관련된 일이나 업무가 많을텐데

이상하게 제가 직접 작성한다던지 (Config 말고) 뭔가 직접 작업하는건 없는듯하네요...


2가지의 방법을 서술합니다.

기본적으로 XmlDocument로 기본 뼈대(?) 객체를 생성후

이 뼈대에 Element들을 계속 붙여나가는 방식 이라 하면 될까나?


using System.Xml;


 static void BuildXml()
        {
            XmlDocument doc = new XmlDocument();    //Document 객체 인스턴스

            XmlElement inventory = doc.CreateElement("Root");
            XmlElement car = doc.CreateElement("A");
            car.SetAttribute("ID", "1000");

            XmlElement name = doc.CreateElement("A1");
            name.InnerText = "Name";
            XmlElement color = doc.CreateElement("A2");
            color.InnerText = "Orange";
            XmlElement maker = doc.CreateElement("A3");
            maker.InnerText = "ABC company";

            car.AppendChild(name);    //각 xml element간 관계설정
            car.AppendChild(color);
            car.AppendChild(maker);

            inventory.AppendChild(car);

            doc.AppendChild(inventory);
            doc.Save("Inventory.xml");        // XML 생성
}

실행결과



위와 같은 결과를 다른 방식으로

using System.Xml.Linq;


        static void BuildXmlWithLINQ()

        {

            XElement doc =

                new XElement("Root",

                    new XElement("A", new XAttribute("ID", "1000"),

                        new XElement("A1", "Name"),

                        new XElement("A2", "Orange"),

                        new XElement("A3", "ABC companay")

                        )

                        );


            doc.Save("InventoryLinq.xml");

        }


위에 비해서 상당히 간단히 만들어졌습니다.