资料收集

编程,影视,新闻,其他....

导航

c#生成与 追加xml

/// <summary>
    ///
    /// </summary>
    /// <param name="XmlFile">xml名称 </param>
    /// <param name="dt">DataTable</param>
    public void SetXml(string XmlFile,DataTable dt)
    {
       

        XmlTextWriter xr = new XmlTextWriter(Server.MapPath(XmlFile), System.Text.Encoding.GetEncoding("GB2312"));
        xr.Formatting = Formatting.Indented;
        xr.WriteStartDocument();
        xr.WriteStartElement("dataset");
        xr.WriteElementString("updateperi", "24");//sitemap 更新周期
        xr.WriteElementString("updatetime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//更新时间
        xr.WriteElementString("stationname", "我很牛");//来源网站名
        xr.WriteElementString("stationurl", "http://www.baidu.com/");//信息来源网站URL
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            xr.WriteStartElement("document");
            xr.WriteElementString("comp_name", dt.Rows[i]["company"].ToString());//公司名
            if (dt.Rows[i]["address"] != null)
                xr.WriteElementString("comp_address", dt.Rows[i]["address"].ToString());//公司地址
            else
                xr.WriteElementString("comp_address", "");
            if (dt.Rows[i]["beizhu"] != null)
                xr.WriteElementString("comp_intro", dt.Rows[i]["beizhu"].ToString());//公司简介
            else
                xr.WriteElementString("comp_intro", "");
            if (dt.Rows[i]["zyyewu"] != null)
                xr.WriteElementString("comp_pro", dt.Rows[i]["zyyewu"].ToString());//公司产品
            else
                xr.WriteElementString("comp_pro", "");
            if (dt.Rows[i]["url"] != null)
                xr.WriteElementString("comp_website", dt.Rows[i]["url"].ToString());//公司网地址
            else
                xr.WriteElementString("comp_website", "");
            if (dt.Rows[i]["jyleixing"] != null)
                xr.WriteElementString("comp_protype", dt.Rows[i]["jyleixing"].ToString());//公司产品类别
            else
                xr.WriteElementString("comp_protype", "");
            if (dt.Rows[i]["qyleixing"] != null)
                xr.WriteElementString("comp_type", dt.Rows[i]["qyleixing"].ToString());//公司类型
            else
                xr.WriteElementString("comp_type", "");
            if (dt.Rows[i]["email"] != null)
                xr.WriteElementString("cont_email", dt.Rows[i]["email"].ToString());//email
            else
                xr.WriteElementString("cont_email", "");
                xr.WriteElementString("link", "http://www.baidu.com/dress_corp/dress_corp-new.aspx?id=" + dt.Rows[i]["id"].ToString());//信息来源
            //if (dt.Rows[i]["moel"].ToString() == "0" || dt.Rows[i]["model"].ToString() == "4" || dt.Rows[i]["model"].ToString() == "2")
                xr.WriteElementString("regist", "0");//是否受费
            //else
            //    xr.WriteElementString("regist", "1");//是否受费

                xr.WriteElementString("AddDate", dt.Rows[i]["datetime"].ToString());


            xr.WriteEndElement();
        }

        dt.Dispose();
        xr.WriteEndElement();
        xr.WriteEndDocument();
        xr.Flush();
        xr.Close();

    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        try
        {
            string xmlname = "RssNewImg.xml";
            SqlDataReader dr = Rss_News.GetImgInfo(50);
            DB2rss1(xmlname, dr);
            Jsp.Alert("Rss生成成功!");

        }
        catch
        {
            Jsp.Alert("带图片的Rss生成失败!");
        }
    }
    /// <summary>
    /// 生成 奇搜XMl
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button3_Click(object sender, EventArgs e)
    {
        string time = DateTime.Now.ToString();
        string XmlSearchName = Convert.ToDateTime(time.ToString()).ToString("yyyyMM") + "Search.xml";
        if (File.Exists(Server.MapPath(XmlSearchName)))
        {
            Jsp.Alert("你已经生成过本月的xml了 直接追加就可以了");
        }
        else
        {
            try
            {
                string Addtime = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-1";//本月的一号
                string xmlname = XmlSearchName;
                DataTable dt = Rss_News.GetSearch(Addtime);
                string dirName = "";
                SetXml(xmlname, dt);
                Jsp.Alert("XMl生成成功!");
            }
            catch
            {
                Jsp.Alert("Xml生成失败!");
            }
        }
      
    }





protected void Button4_Click(object sender, EventArgs e)
    {

        try
        {
            string time = DateTime.Now.ToString();
            string XmlSearchName = Convert.ToDateTime(time.ToString()).ToString("yyyyMM") + "Search.xml";
            if (File.Exists(Server.MapPath(XmlSearchName)))
            {
                XmlDocument xdoc = new XmlDocument();
                xdoc.Load(Server.MapPath(XmlSearchName));
                XmlNode xdate = xdoc.SelectSingleNode("dataset/document/AddDate");//取出xml 中第一条的时间
                string dateTime = xdate.InnerText;
                dateTime = Convert.ToDateTime(dateTime).ToString();
               // Jsp.Alert(dateTime);
                DataTable dt = Rss_News.ADDSearch(dateTime);
                //XmlNode root = xdoc.DocumentElement;
                XmlNode xd = xdoc.SelectSingleNode("dataset");
                XmlNode Addxd = xdoc.SelectSingleNode("dataset/stationurl");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    XmlElement xe1 = xdoc.CreateElement("document");


                    XmlElement xesub1 = xdoc.CreateElement("comp_name");
                    if (dt.Rows[i]["address"] != null)
                        xesub1.InnerText = dt.Rows[i]["company"].ToString();//设置文本节点
                    else
                        xesub1.InnerText = "";
                    xe1.AppendChild(xesub1);//添加到<book>节点中

                    XmlElement xesub2 = xdoc.CreateElement("comp_address");
                    if (dt.Rows[i]["address"] != null)
                        xesub2.InnerText = dt.Rows[i]["address"].ToString();
                    else
                        xesub2.InnerText = "";
                    xe1.AppendChild(xesub2);

                    XmlElement xesub3 = xdoc.CreateElement("comp_intro");
                    if (dt.Rows[i]["beizhu"] != null)
                        xesub3.InnerText = dt.Rows[i]["beizhu"].ToString();
                    else
                        xesub3.InnerText = "";
                    xe1.AppendChild(xesub3);

                    XmlElement xesub4 = xdoc.CreateElement("comp_pro");
                    if (dt.Rows[i]["zyyewu"] != null)
                        xesub4.InnerText = dt.Rows[i]["zyyewu"].ToString();//设置文本节点
                    else
                        xesub4.InnerText = "";
                    xe1.AppendChild(xesub4);//添加到<book>节点中

                    XmlElement xesub5 = xdoc.CreateElement("comp_website");
                    if (dt.Rows[i]["url"] != null)
                        xesub5.InnerText = dt.Rows[i]["url"].ToString();
                    else
                        xesub5.InnerText = "http://www.baidu.com";
                    xe1.AppendChild(xesub5);

                    XmlElement xesub6 = xdoc.CreateElement("comp_protype");
                    if (dt.Rows[i]["jyleixing"] != null)
                        xesub6.InnerText = dt.Rows[i]["jyleixing"].ToString();
                    else
                        xesub6.InnerText = "";
                    xe1.AppendChild(xesub6);

                    XmlElement xesub7 = xdoc.CreateElement("cont_email");
                    if (dt.Rows[i]["email"] != null)
                        xesub7.InnerText = dt.Rows[i]["email"].ToString();//设置文本节点
                    else
                        xesub7.InnerText = "";
                    xe1.AppendChild(xesub7);//添加到<book>节点中

                    XmlElement xesub8 = xdoc.CreateElement("link");
                    xesub8.InnerText = "http://www.baidu.com/dress_corp/dress_corp-new.aspx?id=" + dt.Rows[i]["id"].ToString();
                    xe1.AppendChild(xesub8);

                    XmlElement xesub9 = xdoc.CreateElement("regist");
                    xesub9.InnerText = "0";
                    xe1.AppendChild(xesub9);

                    XmlElement xesub10 = xdoc.CreateElement("datetime");
                    xesub10.InnerText = dt.Rows[i]["datetime"].ToString();//设置文本节点
                    xe1.AppendChild(xesub10);//添加到<document>节点中

                    //xd.AppendChild(xe1);//添加到<dataset>节点中
                    xd.InsertAfter(xe1, Addxd);

                    xdoc.Save(Server.MapPath(XmlSearchName));


                }
                Jsp.Alert("追加成功");
            }
            else
            {
               Jsp.Alert("您还没有生成本月的xml请先生成");
            }

        }
        catch
        {
            Jsp.Alert("追加失败!");
        }


       

    }
    protected void Button5_Click(object sender, EventArgs e)
    {
        string time = DateTime.Now.ToString();
        string XmlSearchName = Convert.ToDateTime(time.ToString()).ToString("yyyyMM") + "Search.xml";
        if (File.Exists(Server.MapPath(XmlSearchName)))
        {
            try
            {
                string Addtime = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-1";//本月的一号
                string xmlname = XmlSearchName;
                DataTable dt = Rss_News.GetSearch(Addtime);
                string dirName = "";
                SetXml(xmlname, dt);
                Jsp.Alert("XMl重新生成成功!");
            }
            catch
            {
                Jsp.Alert("Xml重新生成失败!");
            }
        }
        else
        {
            try
            {
                string Addtime = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-1";//本月的一号
                string xmlname = XmlSearchName;
                DataTable dt = Rss_News.GetSearch(Addtime);
                string dirName = "";
                SetXml(xmlname, dt);
                Jsp.Alert("XMl生成成功!");
            }
            catch
            {
                Jsp.Alert("Xml生成失败!");
            }
        }
    }
    protected void Button6_Click(object sender, EventArgs e)
    {
        if (this.TextBox1.Text.Trim() != "" && this.TextBox2.Text.Trim() != "" && this.TextBox3.Text.Trim() != "")
        {
            string XmlSearchName = this.TextBox3.Text.Trim();
            //if (File.Exists(Server.MapPath(XmlSearchName)))
            //{
            //    Jsp.Alert("你已经生成过本月的xml了 直接追加就可以了");
            //}
            //else
            //{
            try
            {
                //string Addtime = DateTime.Now.Year.ToString() +"-"+ DateTime.Now.Month.ToString()+"-1";//本月的一号
                string xmlname = XmlSearchName;
                //DataTable dt = Rss_News.GetSearch(Addtime);

                string beginTime = this.TextBox1.Text.Trim();
                string endTime = this.TextBox2.Text.Trim();
                DataTable dt = Rss_News.GetSearch_test(beginTime, endTime);

                string dirName = "";
                SetXml(xmlname, dt);
                Jsp.Alert("XMl生成成功!");
            }
            catch
            {
                Jsp.Alert("Xml生成失败!");
            }
        }
        else
        {
            Jsp.Alert("数据填写不完整");
        }
        //}
    }

posted on 2008-08-10 20:05  小小亮  阅读(1045)  评论(0)    收藏  举报