1

我正在使用 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);

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

谢谢

4

1 回答 1

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);
于 2012-09-17T12:34:33.197 回答