728x90
Xml파일이나 텍스트가 있을 경우 Xml내부에 있는 값을 가져오기 위해서는 다음과 같은 방법을 쓸 수 있습니다.
Xml파일 확인케이스
- Xml 속성값 가져오기
- 하위노드 리스트 가져오기
- 노드의 값 가져오기
- 추가된 노드의 하위값들 가져오기
- 중복노드의 값들 가져오기
예제 Xml파일
<?xml version="1.0" encoding="utf-8" ?>
<category id="category1">
<name>VS code</name>
<type>Xml Sample Document</type>
<version>2019</version>
<food store="Gimchun">
<name>DDeok guk</name>
<name>Ramyeon</name>
<kimbop>
<add menu="chamchi"></add>
<add menu="kimchi"></add>
<add menu="egg"></add>
<add menu="spicy"></add>
</kimbop>
</food>
<shortname>T1</shortname>
<shortname>T2</shortname>
<shortname>T3</shortname>
</category>
Xml파일 가져오기
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("XmlSample.xml");
하위노드 리스트 가져오기
XmlNodeList ctg_node_lst = ctg_node.ChildNodes;
Xml속성 가져오기
XmlNode ctg_node = xmlDoc.SelectSingleNode("category");
// 결과값 : category1
string ctg_id = ctg_node.Attributes["id"].Value;
노드의 값 가져오기
XmlNode name_node = xmlDoc.SelectSingleNode("category/name");
// 결과값 : VS code
string name_value = name_node.InnerText;
string name_value2 = name_node.ChildNodes[0].InnerText;
추가된 노드의 하위값들 가져오기
XmlNode kimbop_node = xmlDoc.SelectSingleNode("category/food/kimbop");
// 결과값 : chamchi
string chamchi = kimbop_node.ChildNodes[0].Attributes["menu"].Value;
// 결과값 : kimchi
string kimchi = kimbop_node.ChildNodes[1].Attributes["menu"].Value;
// 결과값 : egg
string egg = kimbop_node.ChildNodes[2].Attributes["menu"].Value;
// 결과값 : spicy
string spicy = kimbop_node.ChildNodes[3].Attributes["menu"].Value;
중복노드의 값들 가져오기
XmlNodeList shortname_node = xmlDoc.SelectNodes("category/shortname");
// 결과값 : T1
string shortname_1 = shortname_node[0].InnerText;
// 결과값 : T2
string shortname_2 = shortname_node[1].InnerText;
// 결과값 : T3
string shortname_3 = shortname_node[2].InnerText;
728x90
'C#' 카테고리의 다른 글
C# - 확장메소드 사용법 및 예시 (0) | 2021.07.15 |
---|---|
C# - List 기본함수 사용법(Add, AddRange, Contains, Clear, IndexOf, Remove, RemoveAll, Reverse, ToArray, Sort) (0) | 2021.07.14 |
C# - Get Set의 사용법, 의미 (0) | 2021.07.12 |
C# - 연산자 오버로드 (0) | 2021.07.08 |
C# - 문자와 문자열의 차이(string과 char) (0) | 2021.07.06 |
댓글