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; }
}
}
}