728x90
반응형
XML 파싱 - XPATH ( parsing )
XML 파싱 - XPATH ( parsing ) 테스트 - 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | private void xmlParsing(string strRead) { /* 신동네예보정보조회서비스 1.4*/ XmlDocument XmlDoc = new XmlDocument(); XmlDoc.LoadXml(strRead); // File = XmlDoc.Load, String = XmlDoc.LoadXml XmlNodeList tagNodes = XmlDoc.SelectNodes("/response/body/items/item"); // 노드의 정렬된 컬렉션 ( //Tag 로 된 노드들만 가져옴) foreach (XmlNode tagNode in tagNodes) { XmlNode baseDate = tagNode.SelectSingleNode("baseDate"); XmlNode baseTime = tagNode.SelectSingleNode("baseTime"); XmlNode category = tagNode.SelectSingleNode("category"); MessageBox.Show(baseDate.InnerText + "," + baseTime.InnerText + "," + category.InnerText); // Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { lbl.Content += n.LocalName; })); } } | cs |
XML과 XPATH 를 이용하여 읽어들인 자료이다.
[원문 및 참고자료]
XML 파싱 - XPATH ( parsing ) 테스트 - 기상청
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 | using System; using System.IO; using System.Net; using System.Text; using System.Windows; using System.Xml; private void xmlParsing(string strRead) { /* 기상청자료*/ // 자료읽기 strRead = "http://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108"; XmlDocument XmlDoc = new XmlDocument(); XmlDoc.Load(strRead); // File = XmlDoc.Load, String = XmlDoc.LoadXml XmlNodeList Nodes = XmlDoc.SelectNodes("//channel/item/description/body/location[8]"); // location 8번째 node (대전) foreach (XmlNode Node in Nodes) { XmlNode city = Node.SelectSingleNode("city"); MessageBox.Show(city.InnerText); } XmlNodeList Nodes2 = XmlDoc.SelectNodes("//channel/item/description/body/location[8]/data"); // location 8번째 node (대전)의 하위data node string data2 = ""; foreach (XmlNode Node in Nodes2) { XmlNode tmEf = Node.SelectSingleNode("tmEf"); XmlNode wf = Node.SelectSingleNode("wf"); data2 += tmEf.InnerText + wf.InnerText + "\n"; // Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { lbl.Content += n.LocalName; })); } MessageBox.Show(data2); } | cs |
기상청자료 (xml) 을 기준으로 파싱해봤다.
http://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
ListView 추가/삭제 ( add / remove / delete / del ) (0) | 2018.04.11 |
---|---|
어셈블리 정보 값과 파일 속성 값 (0) | 2018.01.16 |
WPF & C# - 하이퍼링크 ( Hyperlink) (4) | 2018.01.11 |
WPF & C# - 이미지 넣기 ( image / img / BitmapImage / Uri / pack / ico / riKind.Relative / Uniform / None / UniformToFill / Fill / 가로세로비율 ) (2) | 2018.01.10 |
WPF & C# - 더블클릭 시간계산하기 ( TimeSpan / DateTime / Ticks / 더블터치, DoubleClick, DoubleTouch) (0) | 2018.01.09 |
[자작] 간단한 터치체크 프로그램 (0) | 2018.01.09 |
xml parsing ( 파싱 ) (2) | 2018.01.08 |
[자작]ZIPPasswordSearch ver2 ( ZIP 암호 패스워드 찾는 프로그램 ) (2) | 2018.01.08 |