使用ASP.Net从SQL Server中的表导出数据

时间:2012-09-17 10:38:29

标签: asp.net xml sql-server-2008

我正在使用Visual Studio 2010和SQL Server 2008.我需要创建一个类似于:

的XML文件
 <cat>
   <name> "Categories"</name>
   <link> "link"</link>
 </cat>

应从数据库中添加Categorieslink值。

我已经尝试了一切,但我无法让它发挥作用。我是否必须在ASP中创建一个XML文件来执行此操作?

这些值在同一个表中,但表中还有其他列。

我的代码看起来像这样:

        SqlCommand sqlcmd = new SqlCommand();
        //sqlcmd.CommandText = "Select * from Categories";
        DataSet ds = new DataSet();

        System.Data.SqlClient.SqlDataAdapter da = new       System.Data.SqlClient.SqlDataAdapter("Select * from Categories", "Data Source=something;Initial Catalog=My Database;Integrated Security=True");
        da.Fill(ds);

      int rows;
      rows = ds.Tables[0].Rows.Count;

      int i;

      for (i = 0; i <= rows - 1; i++)
      {
          string Categories = ds.Tables[0].Rows[i].ItemArray[0].ToString();
          string address = "https://www.something.com/";
          string link = address + ds.Tables[0].Rows[i].ItemArray[1].ToString();
      }

      ds.WriteXml(@"c:\output.xml", XmlWriteMode.WriteSchema);

有人可以给我一个详细解决这个问题的方法。

谢谢

1 个答案:

答案 0 :(得分:1)

SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandText = "Select * from Categories";
DataSet ds = new DataSet();

System.Data.SqlClient.SqlDataAdapter da = new       System.Data.SqlClient.SqlDataAdapter("Select * from Categories", "Data Source=something;Initial Catalog=My Database;Integrated Security=True");
da.Fill(ds);

      int rows;
      rows = ds.Tables[0].Rows.Count;

      int i;
xmlwr.WriteStartElement("Cat");
      for (i = 0; i <= rows - 1; i++)
      {
xmlwr.WriteStartElement("name");
xmlwr.xmlwr.WriteString(ds.Tables[0].Rows[i].ItemArray[0].ToString());
xmlwr.WriteEndElement;

xmlwr.WriteStartElement("link");
xmlwr.xmlwr.WriteString(ds.Tables[0].Rows[i].ItemArray[1].ToString());
xmlwr.WriteEndElement;

      }
xmlwr.WriteEndElement;
      ds.WriteXml(@"c:\output.xml", XmlWriteMode.WriteSchema);