
以下是代码部分,不是很长。。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
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.Linq;
using System.Xml;
using System.IO;
using System.Data.SqlClient;
namespace ASP.NET_Test
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 连接数据库
string SConnectionStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection conn = new SqlConnection(SConnectionStr);
SqlCommand cmd = new SqlCommand("SELECT * FROM Table_test", conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
// 新建XML文档
XmlDocument doc = new XmlDocument();
XmlElement root;
XmlElement element;
// 插入xml声明
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, "yes");
doc.InsertBefore(dec, doc.DocumentElement);
// 用来记录根节点元素
ArrayList elements = new ArrayList();
// 插入第一个节点
reader.Read();
Label1.Text = reader["name"].ToString(); ;
Label2.Text = reader[1].ToString();
Label3.Text = reader[2].ToString(); ;
element = doc.CreateElement(reader[1].ToString());
elements.Add(element);
doc.InsertAfter(element, dec);
// 插入后面的子节点
while (reader.Read())
{
// 创建子节点
element = doc.CreateElement(reader[1].ToString());
elements.Add(element);
// 找到它的父节点,然后添加到父节点下
root = (XmlElement)elements[(int)reader[2] - 1];
root.AppendChild(element);
}
// 保存xml文件
FileStream fs = new FileStream(@"C:\Documents and Settings\Administrator\桌面\ASP.NET Test\ASP.NET Test\XMLFile1.xml", FileMode.Create);
doc.Save(fs);
fs.Close();
// 设置xml数据源控件并把它绑定到TreeView控件上
XmlDataSource1.DataFile = @"C:\Documents and Settings\Administrator\桌面\ASP.NET Test\ASP.NET Test\XMLFile1.xml";
TreeView1.DataSource = XmlDataSource1;
TreeView1.DataBind();
}
}
}
数据库表为:

这个错误到底是什么原因。。唉。。