zoukankan      html  css  js  c++  java
  • asp.net数据库生成xml文件

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml;
    using System.Data.OleDb;
    
    /// <summary>
    ///data2xml 的摘要说明
    /// </summary>
    public class data2xml
    {
    	public data2xml()
    	{
    		//
    		//TODO: 在此处添加构造函数逻辑
    		//
    
    	}
    
        /// <summary>
        /// 提取top10的题目生成question.xml
        /// </summary>
        public void qlist()
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlDeclaration declareation;
            declareation = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
            xmlDoc.AppendChild(declareation);
    
            XmlElement xeRoot = xmlDoc.CreateElement("content");
            xmlDoc.AppendChild(xeRoot);
    
            XmlNode root = xmlDoc.SelectSingleNode("content");
            
    
            AccessDbClass newDB = new AccessDbClass();
            OleDbDataAdapter da = newDB.SelectToOleDbDataAdapter("select top 10 * from [question] where [qState]=1 order by rnd([qID])");
            DataSet ds = new DataSet();
            da.Fill(ds);
            newDB.Close();
    
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                XmlElement xeQuestion = xmlDoc.CreateElement("question");
    
                    XmlElement xeTitle = xmlDoc.CreateElement("title");
                    xeTitle.InnerText = ds.Tables[0].Rows[i]["qTitle"].ToString();
                    xeQuestion.AppendChild(xeTitle);
    
                    XmlElement xeID = xmlDoc.CreateElement("ID");
                    xeID.InnerText = ds.Tables[0].Rows[i]["qID"].ToString();
                    xeQuestion.AppendChild(xeID);
    
                    XmlElement xeAnswer = xmlDoc.CreateElement("answer");
                    xeAnswer.SetAttribute("type", ds.Tables[0].Rows[i]["qType"].ToString());
    
                        string qAnswer = ds.Tables[0].Rows[i]["qAnswer"].ToString();
                        string[] q_Answer = qAnswer.Split('|');
    
                        string qVote = ds.Tables[0].Rows[i]["qVote"].ToString();
                        string[] q_Vote = qVote.Split(',');
    
                        for (int j = 0; j < q_Answer.Length; j++)
                        {
                            XmlElement xeLabel = xmlDoc.CreateElement("label");
                            xeLabel.SetAttribute("vote", q_Vote[j].ToString());
                            xeLabel.SetAttribute("id", (j+1).ToString());
                            xeLabel.InnerText = q_Answer[j].ToString();
                            xeAnswer.AppendChild(xeLabel);
                        }
    
                   xeQuestion.AppendChild(xeAnswer);
    
                xeRoot.AppendChild(xeQuestion);
            }
            
    
            xmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory + "\\question.xml");
    
        }
    
    
    
        /// <summary>
        /// 获取相应留言ID生成id.xml
        /// </summary>
        /// <param name="num">留言ID</param>
        public void mlist(int num)
        {
            //<?xml version="1.0" encoding="UTF-8"?>
            //<leaveWord>
    	        //<content><![CDATA[中山狼,得志更猖狂.]]></content>
            //</leaveWord>
    
    
            //表示XML文档
            XmlDocument xmlDoc = new XmlDocument();
    
            //表示 XML 声明节点
            //standalone定义了是否可以在不读取任何其它文件的情况下处理该文档,默认为no
            //<?xml version="1.0" encoding="UTF-8" standalone="yes"?>生成结束
            XmlDeclaration declareation;
            declareation = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
            xmlDoc.AppendChild(declareation);
    
            //创建一个leaveWord根元素
            XmlElement xeRoot = xmlDoc.CreateElement("leaveWord");
            xmlDoc.AppendChild(xeRoot);//Root根元素创建完成
    
            //查找<leaveWord>
            XmlNode root = xmlDoc.SelectSingleNode("leaveWord");
    
            AccessDbClass newDB = new AccessDbClass();
            OleDbDataAdapter da = newDB.SelectToOleDbDataAdapter("select * from [message] where [qid]=" + num +" order by [addTime] desc");
            DataSet ds = new DataSet();
            da.Fill(ds);
            newDB.Close();
    
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                //在<leaveWord>之下创建元素<content>
                //XmlElement xeContent = xmlDoc.CreateElement("content");
                //指定属性的属性值
                //xeContent.SetAttribute("id", "1");
                //完成子节点<content>
                //root.AppendChild(xeContent);
    
                XmlCDataSection xeContent = xmlDoc.CreateCDataSection("content");
                xeContent.InnerText = ds.Tables[0].Rows[i]["mContent"].ToString();
                xeRoot.AppendChild(xeContent);
            }
            xmlDoc.Save(AppDomain.CurrentDomain.BaseDirectory +"\\"+num+".xml");
        }
    }
    

      

  • 相关阅读:
    那天有个小孩跟我说LINQ(一) 转载
    关于cornerstone无法上传library文件的问题
    could not read data from '/Users/xxxx/myapp-Info.plist'
    symbol(s) not found for architecture x86_64
    MJ刷新控件MJRefreshFooterView上拉之后收不回来的解决办法
    [__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310
    An instance 0x172b8600 of class UITableView was deallocated while key value
    让UIScrollView、UITableView的滚动条一直显示
    访问iPhone通讯录的问题
    从模态视图push到另一个视图
  • 原文地址:https://www.cnblogs.com/douqiumiao/p/3014982.html
Copyright © 2011-2022 走看看