본문 바로가기

   
Programming/XML

윈폼으로 XML 연결

반응형



using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Xml; //@@@@

 

namespace WinFormEx

{

       public partial class Ex01 : Form

       {

             public Ex01()

             {

                    InitializeComponent();

             }

 

             private void Ex01_Load(object sender, EventArgs e)

             {

 

                    XmlDocument doc = new XmlDocument();

                    //블로그의 rss 단추를 누른수 다음의 주소를 붙여넣기

                    doc.Load("http://petit_ange.blog.me/rss");

                    //Console.WriteLine(doc.OuterXml);

 

                    XmlNodeList result = doc.SelectNodes("//item/title");

 

                    foreach (XmlElement title in result)

                    {

                           //listBox1.Items.Add(title.InnerText);

 

                           string txt = title.InnerText;//제목만 들어있음

                           string url = title.NextSibling.InnerText;//타이틀의 다음형제가 url 이므로..

 

                           //@@@@@listbox는 하나의 값만 넣을 수 있으므로 다음의 방법들 중에서

                           //     하나를 이용하여 변형

                           //1. 익명 객체 이용

                           //listBox1.Items.Add(new { Txt = txt, Url = url });

 

                           //2. 클래스를 아래에 정의하고 객체를 만들어 이용

                           Item item = new Item();

                           item.Txt = txt;

                           item.Url = url;

                           //Item item = new Item { Txt = txt, Url = url });//위의 3줄과 같다.

                           listBox1.Items.Add(item);

 

                           //리스트박스에 둘중에 하나만 보여준다.

                           listBox1.DisplayMember = "Txt";

                           //listBox1.ValueMember = "Url";

                           //listBox1.DisplayMember = "Url";

                          

 

                          

                    }

             }

 

             private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)

             {

                    Item item = listBox1.SelectedItem as Item;

                    //MessageBox.Show(item.Url);

 

                    System.Diagnostics.Process.Start("iexplore.exe", item.Url);

             }

 

             class Item

             {

                    //자동화 프로퍼티

                    public string Txt { get; set; }

                    public string Url { get; set; }

             }

       }

}

 

 

반응형