C#에서 읽는 것과 같을거라 생각이 든다
1. 새로 프로젝트를 생성 한다.
2. 폼에 Label 하나를 추가 한다.(XML 읽어서 보여 주려고)
3. XML 파일을 추가한다.(프로젝트 이름에서 오른쪽 마우스 클릭> 추가 > 새항목)
4. 아래와 같은 화면에서 XML 파일을 선택하고 이름을 입력후 추가를 클릭 한다.
5. 생성된 XML에 아래와 같이 XML 데이트를 만든다.
6. using System.Xml; 를 추가해 준다.
7. Load 이벤트에 아래와 같이 코딩을 한다.
private void XMLFrm_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet(); //XML를 읽어 들일 DataSet 객체
XmlDocument xd = new XmlDocument(); //XML 데이터를 담을 Document 객체(이 객체 때문에 using System.Xml 를 선언 한것임)
ds.ReadXml(@"\Program Files\TestPro\XMLFile1.xml");//XML를 읽기
xd.LoadXml(ds.GetXml()); //XML 로드
int datacnt = 0; //전체 데이터 갯 수
string xmltxt; //XML 데이터를 출력을 위한
string fTagName; //Tag Name를 저장 하기 위한
fTagName = xd.FirstChild.ChildNodes.Item(0).Name; // XML 구조에 따라 틀리 수 있다
datacnt = xd.GetElementsByTagName(fTagName).Count;
xmltxt = "전체 데이터 수 : " + datacnt.ToString() + "\n";
for (int i = 0; i < datacnt; i++)
{
for (int j = 0; j < xd.GetElementsByTagName(fTagName).Item(i).ChildNodes.Count; j++)
{
xmltxt = xmltxt + xd.GetElementsByTagName(fTagName).Item(i).ChildNodes.Item(j).InnerText + "###";
}
xmltxt = xmltxt + "\n";
}
//Tag Name을 알고 있을때는 아래와 같이 해도 된다.
datacnt = xd.GetElementsByTagName("testdata").Count;
xmltxt = xmltxt + "TagName 알고 있을때 " + "\n";
xmltxt = xmltxt + "전체 데이터 수 : " + datacnt.ToString() + "\n";
for (int i = 0; i < datacnt; i++)
{
xmltxt = xmltxt + xd.GetElementsByTagName("testtitle").Item(i).InnerText + "###";
xmltxt = xmltxt + xd.GetElementsByTagName("testnumber").Item(i).InnerText + "###";
xmltxt = xmltxt + xd.GetElementsByTagName("testimgpath").Item(i).InnerText + "###";
xmltxt = xmltxt + "\n";
}
label1.Text = xmltxt;
}
8. 빌드 하고 실행한다. (아래와 같은 결과를 확인 할 수 있다.)
'소프트웨어 > C# & ASP.NET' 카테고리의 다른 글
DateTime형 유용한 유틸리티 (0) | 2009.11.03 |
---|---|
Java vs. .NET 성능 비교 (0) | 2009.10.09 |
Visual Studio 2010 CTP 버전 다운로드 주소 (0) | 2009.08.27 |
C# and Excel (reading) (1) | 2009.08.25 |
Visual Studio 2005 Tip (0) | 2009.08.18 |