using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Xml;
using System.Collections;
namespace FinallyDemo
{
public partial class frmRSS : Form
{
public frmRSS()
{
InitializeComponent();
}
string url = "" ;
string xmlFilePath = "" ;
XmlDocument doc = new XmlDocument();
TreeNode tnroot = new TreeNode();
public void DownLoadXml( string url)
{
if (File.Exists(xmlFilePath))
{
File.Delete(xmlFilePath);
}
WebClient wc = new WebClient();
try
{
wc.DownloadFile(url, xmlFilePath);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public void LoadXml()
{
if (File.Exists(xmlFilePath))
{
doc.Load(xmlFilePath);
XmlNode firstNode = doc.DocumentElement.FirstChild;
XmlNode root = firstNode.FirstChild;
treeView1.Nodes.Add(root.InnerText);
tnroot = treeView1.Nodes[ 0 ];
}
}
class Test
{
public string title;
public string url;
public Test()
{
}
public Test( string title, string url)
{
this .title = title;
this .url = url;
}
}
Dictionary < string , Test > dictionarys = new Dictionary < string , Test > ();
public void LoadTreeTitle()
{
doc.Load(xmlFilePath);
XmlNode first = doc.DocumentElement.FirstChild;
tnroot.Nodes.Clear();
foreach (XmlNode node in first.ChildNodes)
{
if (node.Name == " item " )
{
Test test = new Test();
TreeNode tn = new TreeNode();
foreach (XmlNode n in node)
{
switch (n.Name)
{
case " title " :
test.title = n.InnerText;
break ;
case " link " :
test.url = n.InnerText;
break ;
}
}
tn.Text = test.title;
tnroot.Nodes.Add(tn);
try
{
dictionarys.Add(test.title,test);
}
catch (System.Exception ex)
{
}
}
}
}
private void frmRSS_Load( object sender, EventArgs e)
{
string path = " http://www.cnblogs.com/yeszlr/rss " ;
string filepaht = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase) + @" \test.xml " ;
xmlFilePath = filepaht.Substring( 6 , filepaht.Length - 6 );
DownLoadXml(path);
LoadXml();
LoadTreeTitle();
}
private void treeView1_AfterSelect( object sender, TreeViewEventArgs e)
{
if (treeView1.SelectedNode.Nodes.Count > 0 )
{
LoadTreeTitle();
}
else
{
string title = treeView1.SelectedNode.Text;
foreach (Test t in dictionarys.Values)
{
if (t.title == title)
{
url = t.url;
}
}
if (url != "" )
{
webBrowser1.Navigate(url);
}
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Xml;
using System.Collections;
namespace FinallyDemo
{
public partial class frmRSS : Form
{
public frmRSS()
{
InitializeComponent();
}
string url = "" ;
string xmlFilePath = "" ;
XmlDocument doc = new XmlDocument();
TreeNode tnroot = new TreeNode();
public void DownLoadXml( string url)
{
if (File.Exists(xmlFilePath))
{
File.Delete(xmlFilePath);
}
WebClient wc = new WebClient();
try
{
wc.DownloadFile(url, xmlFilePath);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public void LoadXml()
{
if (File.Exists(xmlFilePath))
{
doc.Load(xmlFilePath);
XmlNode firstNode = doc.DocumentElement.FirstChild;
XmlNode root = firstNode.FirstChild;
treeView1.Nodes.Add(root.InnerText);
tnroot = treeView1.Nodes[ 0 ];
}
}
class Test
{
public string title;
public string url;
public Test()
{
}
public Test( string title, string url)
{
this .title = title;
this .url = url;
}
}
Dictionary < string , Test > dictionarys = new Dictionary < string , Test > ();
public void LoadTreeTitle()
{
doc.Load(xmlFilePath);
XmlNode first = doc.DocumentElement.FirstChild;
tnroot.Nodes.Clear();
foreach (XmlNode node in first.ChildNodes)
{
if (node.Name == " item " )
{
Test test = new Test();
TreeNode tn = new TreeNode();
foreach (XmlNode n in node)
{
switch (n.Name)
{
case " title " :
test.title = n.InnerText;
break ;
case " link " :
test.url = n.InnerText;
break ;
}
}
tn.Text = test.title;
tnroot.Nodes.Add(tn);
try
{
dictionarys.Add(test.title,test);
}
catch (System.Exception ex)
{
}
}
}
}
private void frmRSS_Load( object sender, EventArgs e)
{
string path = " http://www.cnblogs.com/yeszlr/rss " ;
string filepaht = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase) + @" \test.xml " ;
xmlFilePath = filepaht.Substring( 6 , filepaht.Length - 6 );
DownLoadXml(path);
LoadXml();
LoadTreeTitle();
}
private void treeView1_AfterSelect( object sender, TreeViewEventArgs e)
{
if (treeView1.SelectedNode.Nodes.Count > 0 )
{
LoadTreeTitle();
}
else
{
string title = treeView1.SelectedNode.Text;
foreach (Test t in dictionarys.Values)
{
if (t.title == title)
{
url = t.url;
}
}
if (url != "" )
{
webBrowser1.Navigate(url);
}
}
}
}
}
这只是一个小Test!自己都感觉有好多的BUG,没空修改过来,就先放这里~