📄 main.cs
字号:
rss.NewsUrl = row.Cells["NewsUrl"].Value.ToString();
rss.NewsID = row.Cells["NewsID"].Value.ToString().Trim();
rss.MaxNewscount = row.Cells["MaxNewscount"].Value.ToString().Trim();
int a = int.Parse(rss.MaxNewscount);
if (rss.IsGetNews == "")
{
rss.IsGetNews = "False";
}
Rss.UpdateRssNews(rss);
BindGrid();
break;
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
break;
}
finally
{
}
}
case "EditConfig":
{
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
RssModel rss = new RssModel();
rss.EndTag = row.Cells["EndTag"].Value.ToString();
rss.NewsName = row.Cells["NewsName"].Value.ToString();
rss.StartTag = row.Cells["StartTag"].Value.ToString();
rss.NewsUrl = row.Cells["NewsUrl"].Value.ToString();
BindConfig(rss);
tabControl1.SelectedIndex = 3;
break;
}
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
if (txtNewsUrl.Text.Trim() == "")
{
MessageBox.Show("站点URL不能为空");
return;
}
RssModel rss = new RssModel();
rss.NewsDescription = txtDescription.Text.Trim();
rss.NewsID = txtNewsID.Text.Trim();
rss.NewsUrl = txtNewsUrl.Text.Trim();
rss.NewsName = "Default";
rss.StartTag = txtStartTag.Text.Trim();
rss.EndTag = txtEndTag.Text.Trim();
rss.ImgStartTag = txtImgStartTag.Text.Trim();
rss.ImgEndTag = txtImgEndTag.Text.Trim();
rss.IsGetNews = checkIsGet.Checked.ToString();
rss.NewsName = txtNewsName.Text.Trim();
if (Rss.ExistNews(rss))
{
MessageBox.Show("该新闻站点已存在");
return;
}
Rss.AddSite(rss);
BindGrid();
MessageBox.Show("添加成功");
tabControl1.SelectedIndex = 3;
BindConfig(rss);
}
private void 开始获取新闻ToolStripMenuItem_Click(object sender, EventArgs e)
{
GetNews();
}
private void 停止获取新闻ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
ThreadGetNews.Abort();
开始获取新闻ToolStripMenuItem.Enabled = true;
}
catch
{
;
}
}
void BindConfig(RssModel rss)
{
ConfigUrl.Text = rss.NewsUrl;
ConfigName.Text = rss.NewsName;
textBoxEndTag.Text = rss.EndTag;
textBoxStartTag.Text = rss.StartTag;
XmlDocument XML = new XmlDocument();
XML.Load("RssNews.xml");
XmlNode ConfigNode = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']/Config");
if (ConfigNode != null)
{
rss.NewsConfig = new NewsConfig();
rss.NewsConfig.IsGetA = ConfigNode["IsGetA"].InnerText;
rss.NewsConfig.IsGetDIV = ConfigNode["IsGetDIV"].InnerText;
rss.NewsConfig.IsGetIMG = ConfigNode["IsGetIMG"].InnerText;
rss.NewsConfig.IsGetSPAN = ConfigNode["IsGetSPAN"].InnerText;
rss.NewsConfig.IsGetTABLE = ConfigNode["IsGetTABLE"].InnerText;
}
chbA.Checked = false;
chbIMG.Checked = false;
chbTABLE.Checked = false;
chbDIV.Checked = false;
chbSPAN.Checked = false;
if (rss.NewsConfig.IsGetA == "TRUE")
{
chbA.Checked = true;
}
if (rss.NewsConfig.IsGetIMG == "TRUE")
{
chbIMG.Checked = true;
}
if (rss.NewsConfig.IsGetTABLE == "TRUE")
{
chbTABLE.Checked = true;
}
if (rss.NewsConfig.IsGetDIV == "TRUE")
{
chbDIV.Checked = true;
}
if (rss.NewsConfig.IsGetSPAN == "TRUE")
{
chbSPAN.Checked = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (ConfigUrl.Text == "")
{
MessageBox.Show("请选择您要更新的新闻站点");
tabControl1.SelectedIndex = 1;
return;
}
RssModel rss = new RssModel();
rss.NewsUrl = ConfigUrl.Text;
rss.StartTag = textBoxStartTag.Text.Trim();
rss.EndTag = textBoxEndTag.Text.Trim();
rss.NewsConfig = new NewsConfig();
rss.NewsConfig.IsGetA = chbA.Checked.ToString().ToUpper();
rss.NewsConfig.IsGetDIV = chbDIV.Checked.ToString().ToUpper();
rss.NewsConfig.IsGetIMG = chbIMG.Checked.ToString().ToUpper();
rss.NewsConfig.IsGetSPAN = chbSPAN.Checked.ToString().ToUpper();
rss.NewsConfig.IsGetTABLE = chbTABLE.Checked.ToString().ToUpper();
XmlDocument XML = new XmlDocument();
XML.Load("RssNews.xml");
XmlNode ConfigNode = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']/Config");
if (ConfigNode == null)
{
MessageBox.Show("该新闻站点已不存在");
return;
}
ConfigNode["IsGetA"].InnerText = rss.NewsConfig.IsGetA;
ConfigNode["IsGetDIV"].InnerText = rss.NewsConfig.IsGetDIV;
ConfigNode["IsGetIMG"].InnerText = rss.NewsConfig.IsGetIMG;
ConfigNode["IsGetSPAN"].InnerText = rss.NewsConfig.IsGetSPAN;
ConfigNode["IsGetTABLE"].InnerText = rss.NewsConfig.IsGetTABLE;
XmlNode Node = XML.SelectSingleNode("RssNews/NewsSite/Channel[NewsUrl='" + rss.NewsUrl + "']");
if (Node != null)
{
Node["StartTag"].InnerText = rss.StartTag;
Node["EndTag"].InnerText = rss.EndTag;
}
XML.Save("RssNews.xml");
BindGrid();
MessageBox.Show("更新成功");
tabControl1.SelectedIndex = 1;
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode Node = e.Node;
if (Node.Tag != null)
{
NewsModel news = new NewsModel();
news.NewsUrl = (string)Node.Tag;
news = News.NewsBrowser(news);
if (news != null)
{
webBrowser1.DocumentText = news.NewsTitle + @"<br>" + news.NewsAuthor + @"<br>" + news.NewsPubDate + @"<br>" + news.NewsPubDate + @"<br>" + news.NewsCategory + @"<br>" + news.NewsUrl + @"<br><br><br><br>" + @"<br>" + news.NewsBody + @"<br>";
tabControl1.SelectedIndex = 4;
}
}
}
private void 程序启动就开始获取ToolStripMenuItem_Click(object sender, EventArgs e)
{
XmlDocument XML = new XmlDocument();
XML.Load("RssNews.xml");
string autoGet = "";
XmlNode Node = XML.SelectSingleNode("RssNews/Config");
if (Node != null)
{
autoGet = Node["IsAutoGet"].InnerText;
if (autoGet == "False")
{
程序启动就开始获取ToolStripMenuItem.Checked = true;
Node["IsAutoGet"].InnerText = "True";
}
else
{
程序启动就开始获取ToolStripMenuItem.Checked = false;
Node["IsAutoGet"].InnerText = "False";
}
}
XML.Save("RssNews.xml");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -