XML2 Articles

  1. 2007/01/09 XML 정보 읽기
  2. 2007/01/08 XML 이란..
C# 2007/01/09 11:40

XML 정보 읽기

XML 관련 클래스를 가지고 본 블로그의 RSS의 데이터를 한번 읽어 보기 위해 시도 해보았다. XML의 두가지 형태 접근으로 순차 접근과 트리 접근이 있다. 그 방식중 일단 순차적으로 한번 읽어 보았다.

using System;
using System.Xml;
public class App
{
public static void Main()
{
XmlTextReader tr = new XmlTextReader("http://hahakbs.dothost.co.kr/rss");
while(tr.Read())
{
  if(tr.NodeType == XmlNodeType.Text)
   Console.WriteLine(tr.Value);
}
tr.Close();
}
}



위와 같은 소스로 병수 블로그의 RSS를 읽어 보았다 결과는 성공 결과물은 너무 길어서 생략 하겠슴..

그렇다면 트리형식의 접근 방법인 DOM 방식의 클래스 XMLDocument을 사용하여 한번 접근 해보았다.

using System;
using System.IO;
using System.Xml;
public class App
{
public static void Main()
{
XmlTextReader tr = new XmlTextReader("http://hahakbs.dothost.co.kr/rss");

XmlDocument xdoc = new XmlDocument();
xdoc.Load(tr);
DisplayTree(xdoc.DocumentElement);
tr.Close();
}
public static void DisplayTree(XmlNode node)
{
if(!node.HasChildNodes)
  Console.WriteLine(node.Value);
else
  Console.WriteLine("<" + node.Name + ">");
if(node.HasChildNodes)
{
  node = node.FirstChild;
  while(node != null)
  {
   DisplayTree(node);
   node = node.NextSibling;
  }
}
}
}



접근이 잘되었다. 위의 방법도 결과가 너무 길어 생략. 각 노드들을 보여 줄때는 재귀적인 방법으로 접근하여 모든 노드들을 접근하였다.  접근이 잘 되었다.

그렇다면 이번에는 검색해서 그 검색 결과를 한번 표현해 보겠다.

using System;
using System.Xml;
using System.Xml.XPath;
public class App
{
public static void Main()
{
XPathDocument doc = new XPathDocument("http://hahakbs.dothost.co.kr/rss");
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator iter = nav.Select("rss/channel/item/title");
while(iter.MoveNext())
  Console.WriteLine(iter.Current.Value);
}
}



결과

XML 이란..
Aspect Oriented Programming
Delegate를 함수의 매개변수로 넘기기
Visual Studio 사용하지 않고 Winform 만들기
애트리뷰트(Attribute)들.
catch 블럭과 finally 블럭 안에서의 예외처리는?
2006년 내머리속에는..
인덱서(Indexer)
오버라이딩의 두가지 방법
internal과 protected internal



위의 소스는 블로그의 타이틀만을 검색해서 검색결과를 출력해주는 간단한 프로그램을 작성 하였다. 검색은 이와 다른 매치 기능등이 있는데 그것들은 귀찮아서 생략 ^^;;

Programing 2007/01/08 16:36

XML 이란..

XML(eXtensible Markup Language)이란?

◈구조(Structure), 데이터(Data) 그리고 표현(Description)이 분리된 데이터 정의를 위한 언어

XML(eXtensible Markup Language)의 구성
◈구조(Structure) : DTD(Document Type Definition)
◈데이터(Data) : DTD에 의해서 트리형태의 XML 문서로 표현된다.
XSL (eXtensible Stylesheet Language) : 데이터를 표현하기 위한 방법을 제공한다.

User inserted image

▣XML의 주목적?

◈표준 데이터 교환에 있다.

▣그렇다면 XML문서를 프로그램적으로 이용하고자 할 때는 XML 문서를 핸들 하기 위한 두가지 방법이 있다.

◈DOM(Document Object Model)
◈SAX(Simple API for XML)

▣두가지 방법의 차이점은 DOM 방식은 XML의 저장된 형식인 tree 구조로 데이터를  핸들 하는 방법이고, SAX는 순차적인 스트림 방식이다.

div>