2009.09.29 14:09

XML 파일 읽기를 테스트해 보았다... (Count)

XML 파일 읽기를 테스트해 보았다...

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. 빌드 하고 실행한다. (아래와 같은 결과를 확인 할 수 있다.)



Trackback 0 Comment 0