'xmldocument'에 해당되는 글 2건

  1. 2008.09.24 XmlDocument와 그 친구들



 저번 포스팅에서 XmlDocument을 사용하여 웹의 내용을 가져오는 내용을 했다.
 물론 XmlDocument이기 때문에 XML로 작성된 웹의 내용만을 가져올 수 있었다.
 그래서 HTML로 되어있거나, 혹은 XML인지 HTML로 되어있는지 알수없는경우,,,? 
  WebClient라는 다른 객체를 이용하여 웹의 내용을 가져왔다.

 저번포스팅에 XML을 이용하여 사용하여 웹의 내용을 가져오는 내용을 다시한번 가져와보자.


         <String 객체의 indexof와 Substring함수를 이용하여 Link를 가져오는 방법>
 ===================================================================================
            XmlDocument doc = new XmlDocument(); //문서 선언
            doc.PreserveWhitespace = false;      // 루트의 공백 무시
            doc.Load(URL);                       //문서 로드

            string aaa = doc.InnerXml;    // 아하 요아이는 xml로 읽어오는것!!

            string BlogLink;
            string MusicLink;
            int StartIndex = 0, EndIndex;

            do
            {
                StartIndex = aaa.IndexOf("<link>", StartIndex) + "<link>".Length;
               
                if (StartIndex < "<link>".Length) break;
               
                EndIndex = aaa.IndexOf("</link>", StartIndex);
                BlogLink = aaa.Substring(StartIndex, EndIndex - StartIndex);
                
            }while(true);

 ===================================================================================

  썩 좋지 않은 소스이긴 하지만;;;
  썩 나쁘지도 않은 방법이라고 생각했었다.
  사실 이거말고 다른방법이 있나? 싶기도했고,,,
  그렇다면 구지 XmlDocument를 사용할 필요가 없지 않은가? 라는 생각도 드는게,,
  WebClient에서도 같은 방법을 사용해서 파싱하는데,, XmlDocument는 XML만되고 
  WebClient는 XML이든 HTML이든 뭐든 뭐든 내용을 가져올 수 있지 않은가
,, 하고,,,

 근데 System.XML에는 XmlDocument말고도 Xml와 관련된 많은 객체들이 있었는데,,
 역시 닷넷은 멋져+_+, 사용하기 좋게 이미 만들어져 있었다. 
 사용법은 다음과 같다.

         <XmlDocument와, XML관련 다른 객체를 이용하여 Link를 가져오는 방법>
 ===================================================================================
            XmlDocument Doc = new XmlDocument();
            Doc.Load(URL);

            XmlNodeList ItemList = Doc.GetElementsByTagName("link");

            foreach (XmlNode Item in ItemList)
            {
                ExtractMusic(Item.InnerText);
            }
 ===================================================================================

 다음 소스는 남자친구분꼐서 짜셔 알려주신 방법인데-_-;;
 오히려 소스보기가 더 깔끔해진듯한 느낌이다.
 위의 내용과 같은일을 하는 소스다, (뭐 구현이 어떻게 되어잇는지는 알 수 없지만;;)

 아까 살짝 구지 XmlDocument 를 사용할 필요가 있을까 라고 생각했떤게 바로 취소되는 ㅋ
 만약 Xml로 되어있는 소스라면 다음과같이 닷넷에서 제공되는 클래스들을 사용하여 
 좀 더 빠르고 효율적으로 코드를 작성하는 것도 좋을 듯 하다.
 물론 공부하는 측면에서 내용을 직접구현해 보는 것도 좋을 듯하고 ^^*

 어쩄든간 ㅋㅋㅋ
 MSDL과 닷넷소스들을 잘 뒤져가면서,,  공부할 필요가 절실히 느껴지는+_+ㅋㅋㅋ

 

신고
Posted by 천재소녀*
이전버튼 1 2 이전버튼

블로그 이미지
꿈꾸는아이, ㅋ Tasha의 완전범죄 구상소
천재소녀*

공지사항

Yesterday23
Today8
Total156,845

달력

 « |  » 2017.11
      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    

최근에 받은 트랙백

글 보관함