C# XML 의 노드를 추가, 수정, 삭제 하기
C#/Tip :
2009. 9. 12. 15:06
앞 2개의 포스터에서 XML 만들기, 노드 생성, 값넣기를 했었는데
이건 노드들의 값을 추가, 수정, 삭제 하는 방법입니다..
항상 말해야하지만...저도 초보인지라 참고만 하심이...
////// 자식노드 생성하고 값넣기 /// /// /// /// ///protected XmlNode CreateNode(XmlDocument xmlDoc, string name, string innerXml) { XmlNode node = xmlDoc.CreateElement(string.Empty, name, string.Empty); node.InnerXml = innerXml; return node; } /// /// 수정, 삭제 하기 /// private void XMLModifier() { // XML문서를 불러온다 XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load("bookconfig.xml"); // 첫노드를 잡아주고 하위 노드를 선택한다 XmlNode FristNode = XmlDoc.DocumentElement; XmlElement SubNode = (XmlElement)FristNode.SelectSingleNode("BOOK"); // 하위 노드 특성에 날짜를 입력하기를 원할때(추가를 원할때) SubNode.SetAttribute("DATA", DateTime.Today.ToString()); // 하위 노드를 추가, 삭제, 수정하고 싶을때(BOOK보다 하위) // 아래 두줄은 삭제할때나, 수정할때 사용하면 된다. XmlNode DeleteNode = SubNode.SelectSingleNode("NAME"); SubNode.RemoveChild(DeleteNode); // 아래 한줄은 추가, 수정할때 사용하면 된다. SubNode.AppendChild(CreateNode(XmlDoc, "NAME", "바꿔라")); // 위 3줄 중 위2줄은 하위 노드를 삭제하는 코딩이고 // 아래 한줄은 추가하는 코딩이다. // 따라서 수정할때는 먼저 삭제하고 추가해야 한다. // 값변경이 안되더라...되는 방법 있으면 알고 싶다 ㅠㅠ // 위에 했던 행위들을 바꿔준다.. // ReplaceChild(SubNode, SubNode); 에서 () 안에 앞에 노드는 변경할 노드 // 뒤에 노드는 변경당할 노드 FristNode.ReplaceChild(SubNode, SubNode); XmlDoc.Save("bookconfig.xml"); }
* 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 |