您的位置:首页 > 编程语言 > ASP

asp.net连接数据库操作xml文件(读、写)

2011-07-21 20:56 429 查看
 asp.net中从数据库中取数据生成xml文件
方法一:
 DB db = new DB();
        string sql = "select name,sex,age,hobby from stuinfo";
        DataTable dt = db.Select(sql);
        XmlDocument xmldoc = new XmlDocument();
        XmlElement rss = xmldoc.CreateElement("rss");
        rss.SetAttribute("Version", "1.0");
        XmlElement school = xmldoc.CreateElement("School");
        XmlElement grade = xmldoc.CreateElement("Grade");
        XmlElement[] student = new XmlElement[dt.Rows.Count];
        XmlElement[] name = new XmlElement[dt.Rows.Count];
        XmlElement[] sex = new XmlElement[dt.Rows.Count];
        XmlElement[] age = new XmlElement[dt.Rows.Count];
        XmlElement[] hobby = new XmlElement[dt.Rows.Count];
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            student[i] = xmldoc.CreateElement("Student");
            name[i] = xmldoc.CreateElement("Name");
            sex[i] = xmldoc.CreateElement("Sex");
            age[i] = xmldoc.CreateElement("Age");
            hobby[i] = xmldoc.CreateElement("Hobby");
            name[i].InnerText = dt.Rows[i]["name"].ToString();
            sex[i].InnerText = dt.Rows[i]["sex"].ToString();
            age[i].InnerText = dt.Rows[i]["age"].ToString();
            hobby[i].InnerText = dt.Rows[i]["hobby"].ToString();
            student[i].AppendChild(name[i]);
            student[i].AppendChild(sex[i]);
            student[i].AppendChild(age[i]);
            student[i].AppendChild(hobby[i]);
            grade.AppendChild(student[i]);
            school.AppendChild(grade);
            rss.AppendChild(school);
            xmldoc.AppendChild(rss);
        }
        xmldoc.Save("D:/StuInfo.xml");

方法二:
 DB db = new DB();
        string sql = "select name,sex,age from stuinfo";
        DataTable dt = db.Select(sql);
        dt.TableName = "Student";
        dt.WriteXml("D:/StuInfo.xml");
 
asp.net中将xml文件里面的数据往数据库中添加
stu.xml文件的内容如下:
<rss Version="1.0">
  <School>
    <Grade>
      <Student>
        <Name>王明</Name>
        <Sex>男</Sex>
        <Age>31</Age>
        <Hobby>唱歌</Hobby>
      </Student>
      <Student>
        <Name>张丽</Name>
        <Sex>女</Sex>
        <Age>32</Age>
        <Hobby>跳舞</Hobby>
      </Student>
    </Grade>
  </School>
</rss>
 
操作方法:
 int res = 0;
        DB db = new DB();
        XmlDocument xd = new XmlDocument();
        xd.Load("D:/stu.xml");
        XmlNodeList xn = xd.SelectNodes("rss/School/Grade/Student");
        string name;
        string sex;
        int age;
        string hobby;
        for (int i = 0; i < xn.Count; i++)
        {
            name = xn[i].SelectSingleNode("Name").InnerText;
            sex = xn[i].SelectSingleNode("Sex").InnerText;
            age = Convert.ToInt32(xn[i].SelectSingleNode("Age").InnerText);
            hobby = xn[i].SelectSingleNode("Hobby").InnerText;
            string sql = string.Format("insert into stuinfo values('{0}','{1}',{2},'{3}')", name, sex, age, hobby);
            res = db.ExecuteUpdate(sql);
        }
        if (res > 0)
        {
            Response.Write("<script>alert('添加成功!');</script>");
        }
        else
        {
            Response.Write("<script>alert('添加失败!');</script>");
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息