C# XML 의 노드를 추가, 수정, 삭제 하기
C#/Tip :
2009. 9. 12. 15:06
앞 2개의 포스터에서 XML 만들기, 노드 생성, 값넣기를 했었는데
이건 노드들의 값을 추가, 수정, 삭제 하는 방법입니다..
항상 말해야하지만...저도 초보인지라 참고만 하심이...
01 | /// <summary> |
02 | /// 자식노드 생성하고 값넣기 |
03 | /// </summary> |
04 | /// <param name="xmlDoc"> |
05 | /// <param name="name"> |
06 | /// <param name="innerXml"> |
07 | /// <returns></returns> |
08 | protected XmlNode CreateNode(XmlDocument xmlDoc, string name, string innerXml) |
09 | { |
10 | XmlNode node = xmlDoc.CreateElement( string .Empty, name, string .Empty); |
11 | node.InnerXml = innerXml; |
12 |
13 | return node; |
14 | } |
15 | /// <summary> |
16 | /// 수정, 삭제 하기 |
17 | /// </summary> |
18 | private void XMLModifier() |
19 | { |
20 | // XML문서를 불러온다 |
21 | XmlDocument XmlDoc = new XmlDocument(); |
22 | XmlDoc.Load( "bookconfig.xml" ); |
23 |
24 | // 첫노드를 잡아주고 하위 노드를 선택한다 |
25 | XmlNode FristNode = XmlDoc.DocumentElement; |
26 | XmlElement SubNode = (XmlElement)FristNode.SelectSingleNode( "BOOK" ); |
27 |
28 | // 하위 노드 특성에 날짜를 입력하기를 원할때(추가를 원할때) |
29 | SubNode.SetAttribute( "DATA" , DateTime.Today.ToString()); |
30 |
31 | // 하위 노드를 추가, 삭제, 수정하고 싶을때(BOOK보다 하위) |
32 | // 아래 두줄은 삭제할때나, 수정할때 사용하면 된다. |
33 | XmlNode DeleteNode = SubNode.SelectSingleNode( "NAME" ); |
34 | SubNode.RemoveChild(DeleteNode); |
35 |
36 | // 아래 한줄은 추가, 수정할때 사용하면 된다. |
37 | SubNode.AppendChild(CreateNode(XmlDoc, "NAME" , "바꿔라" )); |
38 |
39 | // 위 3줄 중 위2줄은 하위 노드를 삭제하는 코딩이고 |
40 | // 아래 한줄은 추가하는 코딩이다. |
41 | // 따라서 수정할때는 먼저 삭제하고 추가해야 한다. |
42 | // 값변경이 안되더라...되는 방법 있으면 알고 싶다 ㅠㅠ |
43 |
44 | // 위에 했던 행위들을 바꿔준다.. |
45 | // ReplaceChild(SubNode, SubNode); 에서 () 안에 앞에 노드는 변경할 노드 |
46 | // 뒤에 노드는 변경당할 노드 |
47 | FristNode.ReplaceChild(SubNode, SubNode); |
48 | XmlDoc.Save( "bookconfig.xml" ); |
49 | } |
* XML관련한 포스트들...
2009/09/12 - [C#.NET 2.0/Tip] - C# XML문서 만들기
2009/09/12 - [C#.NET 2.0/Tip] - C# XML에서 자식노드 생성, 값 넣기
'C# > Tip' 카테고리의 다른 글
C# 윈폼 슬라이드메뉴 만들기 (0) | 2009.09.19 |
---|---|
C# 웹에서 파일 다운로드 방법 (0) | 2009.09.16 |
C# XML에서 자식노드 생성, 값 넣기 (2) | 2009.09.12 |
C# XML문서 만들기 (0) | 2009.09.12 |
c# 폼디자인, 컨트롤박스 만들기 (0) | 2009.09.09 |