1

Visual Studio 2010 と SQL Server 2008 を使用しています。次のような XML ファイルを作成する必要があります。

 <cat>
   <name> "Categories"</name>
   <link> "link"</link>
 </cat>

Categoriesとのlink値は、データベースから追​​加する必要があります。

私はすべてを試しましたが、動作させることができません。これを行うには、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 に答える