ASP.NET 노드추가 / 속성추가 / xml node 추가 / AppendChild


XML 사용시 노드 및 속성을 추가하는 경우에 사용가능하다.
여러가지 형태로 응용해서 함수를 생성해 두면, 많은 작업이 필요한 경우에 시간을 단축할 수 있다.



파일 유무체크 : http://gyunbox.tistory.com/101


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 public ActionResult XmlTest()
 {
     AddXmlNode("/images/xml/test.xml""PRODUCT/CONTENT_2""MYCHILD""CODE""0001");
     return View();
 }
 
 /// <summary>
 /// xml 노드 추가하는 함수
 /// </summary>
 /// <param name="xmlPath">xml 위치</param>
 /// <param name="targetPath">노드를 추가할 위치</param>
 /// <param name="childName">자식 노드 이름</param>
 /// <param name="attName">자식 노드의 속성 이름</param>
 /// <param name="attValue">자식노드의 속성 값</param>
 public void AddXmlNode(string xmlPath, string targetPath, string childName, string attName, string attValue)
 {
     XmlDocument xmlDoc;
     XmlElement childElement;
     XmlAttribute xmlAtb;
     XmlNode parentNode;
 
     xmlDoc = new XmlDocument();
     xmlDoc.Load(Server.MapPath(xmlPath)); //xml 파일 로드
 
     parentNode = xmlDoc.SelectSingleNode(targetPath); // 노드를 추가할 부모노드 찾기
 
     childElement = xmlDoc.CreateElement(childName); // 자식 노드 생성
 
     xmlAtb = xmlDoc.CreateAttribute(attName); // 자식 노드에 추가할 속성 생성
     xmlAtb.Value = attValue; // 자식 노드에 추가할 속성에 값 넣기
 
     childElement.SetAttributeNode(xmlAtb); // 자식노드에 속성 적용
 
     parentNode.AppendChild(childElement); // 자식노드를 부모노드에 추가!!
 
     xmlDoc.Save(Server.MapPath(xmlPath));
     xmlDoc = null;
 }
cs


+ Recent posts