Programming/.NET

[.NET] C#에서 XML문서에 새로운 NODE 추가 하기

Kanais 2015. 9. 22. 09:57

작성날짜 : 2011-04-26


출처 : 제주사랑닷컴 - C#에서 XML문서에 새로운 NODE 추가 하기


소스코드

using System.Xml;

 

public void AddXmlNode(String sXml, String sNode, String sMenuNode, String sTypeAttrib)

{

    XmlDocument xmlDoc;

    XmlElement xmlEle;

    XmlAttribute xmlAtb;

    XmlNode newNode;

    xmlDoc = new XmlDocument();

    xmlDoc.Load(Server.MapPath(sXml));           // XML문서 로딩

    newNode = xmlDoc.SelectSingleNode(sNode);  // 추가할 부모 Node 찾기

    xmlEle = xmlDoc.CreateElement(sMenuNode);  // 추가할 Node 생성

    xmlAtb = xmlDoc.CreateAttribute("type");      // 추가할 Node의 속성 생성

    xmlAtb.Value = sTypeAttrib;             // 추가할 Node의 속성에 값 넣기

    xmlEle.SetAttributeNode(xmlAtb); // 추가할 Node에 위에서 생성한 속성 붙이고

    newNode.AppendChild(xmlEle); // 위에서 찾은 부모 Node에 자식 노드로 추가

    xmlDoc.Save(Server.MapPath(sXml));          // XML문서 저장..

    xmlDoc = null;

}

 

예제

TEST.XML

<?xml version="1.0" standalone="yes" ?>

<ROOT>

              <FIRST />

              <SECOND />

        </ROOT>

 

위와 같이 있을 때 아래와 같이 써 주면

AddXmlNode("C:\\TEST.XML""ROOT/SECOND""GOOD""CHILD");


다음과 같이 됩니다.

<?xml version="1.0" standalone="yes" ?>

<ROOT>

  <FIRST />

<SECOND>

    <GOOD type="CHILD" />

  </SECOND>

</ROOT>