00s_tag_label>
00s_tag_label>
.NET, XML, XML 저장, XML 수정 ,C#, C sharp, C#, 프로그래밍, XML Modify, XML Save,XmlDocument Class
C#에서 XML을 다루어 보자.
요즘 프로그램의 대부분이 XML(eXtensible Markup Language)을 사용하여 간단한 데이터의 저장, 프로그램 설정 저장 등 다양하게 사용하다 보니 C#을 다루는 입장에서 한번은 다루어야 할 것 같아 포스팅을 합니다.
포스팅 내용은 C#을 사용하여 아래의 항목을 설명하도록 합니다.
5. C# XML 다루기 소스 코드
.NET, XML, XML 저장, XML 수정 ,C#, C sharp, C#, 프로그래밍, XML Modify, XML Save,XmlDocument Class
C#에서 XML을 다루어 보자.
요즘 프로그램의 대부분이 XML(eXtensible Markup Language)을 사용하여 간단한 데이터의 저장, 프로그램 설정 저장 등 다양하게 사용하다 보니 C#을 다루는 입장에서 한번은 다루어야 할 것 같아 포스팅을 합니다.
포스팅 내용은 C#을 사용하여 아래의 항목을 설명하도록 합니다.
- XML 화일 로딩
- XML 데이터 검색
- XML 데이터 트리 구조화
- XML Node 추가 및 데이터 추가
- XML 저장
-
using System.Xml;
-
XmlDocument myXmlDocument = new XmlDocument(); myXmlDocument.Load("CATEGORY_LIST.xml"); myXmlDocument.Save("CATEGORY_LIST.xml");
-
myXmlDocument.SelectNodes("//CATEGORY_LIST//CATEGORY_NAME")
-
<category_list> <category_name>all4cs.tistory.com</category_name> <category_name>Notice</category_name> <category_name>Guest Book</category_name> <category_name>C Sharp(C#)</category_name> <category_name>Javascript</category_name> <category_name>Flash Game</category_name> <category_name>ORIGAMI</category_name> <category_name>IT/WEB</category_name> <category_name>Photos</category_name> </category_list>
5. C# XML 다루기 소스 코드
private void Form1_Load(object sender, EventArgs e) { //최상위 Node 생성 (여기서는 4CS) TreeNode trvNode = new TreeNode(); trvNode.Text = "4Cs"; //XML 화일 로딩 m_xmlCategory = new XmlDocument(); m_xmlCategory.Load(Application.StartupPath + @"\xml_data\CATEGORY_LIST.xml"); //XML 화일에서 카테고리 검색 XmlNodeList xNodeLst = m_xmlCategory.SelectNodes("//CATEGORY_LIST//CATEGORY_NAME"); for (int i = 0; i < xNodeLst.Count; i++) { //검색된 리스트를 최상위 노드 하부에 추가 trvNode.Nodes.Add(xNodeLst.Item(i).ChildNodes.Item(0).Value.ToString()); } // 최상위 노드를 treeView 컨트롤에 추가 trvCategory.Nodes.Add(trvNode); //모든 카테고리 확장(펼치기) trvCategory.ExpandAll(); } private void button1_Click(object sender, EventArgs e) { XmlNode xnode = m_xmlCategory.SelectSingleNode("//CATEGORY_LIST"); XmlElement xelement = m_xmlCategory.CreateElement("CATEGORY_NAME"); xelement.InnerText = textBox1.Text.ToString(); xnode.AppendChild(xelement); //XML 저장 m_xmlCategory.Save(Application.StartupPath + @"\xml_data\CATEGORY_LIST.xml"); } private void button2_Click(object sender, EventArgs e) { string strSelected = trvCategory.SelectedNode.Text.ToString(); if (strSelected == "4Cs" || strSelected == "") return; //삭제할 Node 찾기 XmlNode xnode = m_xmlCategory.SelectSingleNode("//CATEGORY_LIST//CATEGORY_NAME[.='" + strSelected + "']") ; //해당 node 삭제 xnode.ParentNode.RemoveChild(xnode); //XML 저장 m_xmlCategory.Save(Application.StartupPath + @"\xml_data\CATEGORY_LIST.xml"); } private void trvCategory_AfterSelect(object sender, TreeViewEventArgs e) { textBox2.Text = trvCategory.SelectedNode.Text.ToString(); }
C# XML 다루기 / C# How To Modify and Save XML in the .NET
http://all4cs.tistory.com - 두그미의 사는 이야기
'IT' 카테고리의 다른 글
C# 아웃룩(Outlook) 메일 MSG(.msg) 화일로 저장하기 (11) | 2012.02.20 |
---|---|
C# XML에 이미지 저장 및 가져오기(Base64 인코딩, 디코딩) (12) | 2012.02.12 |
C# 프로그램 중복 실행 방지 Mutex / C# Using a mutex to prevent multiple application from running (4) | 2011.11.18 |
C# 윈도우 시작프로그램 등록, 삭제 / C# Add,Remove registry entries for windows startup (5) | 2011.11.03 |
C# 외부 프로그램 종료하기 / C# Process.GetProcessesByName (0) | 2011.10.21 |