2012-09-17 4 views
1

Я использую Visual Studio 2010 и SQL Server 2008. Мне нужно создать XML-файл, который выглядит следующим образом:Экспорт данных из таблицы в SQL Server с помощью ASP.Net

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

Categories и link значения должны быть добавлен из базы данных.

Я пробовал все, но я не могу заставить его работать. Я должен создать XML-файл в ASP для этого?

Эти значения находятся в одной таблице, но есть и другие столбцы в таблице.

Мой код выглядит примерно так:

 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
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); 
+0

Спасибо. Но он отображает ошибку в «xmlwr». Мне нужно что-то определить? –

+0

и что, если мне нужно что-то вроде , которая будет отображаться в верхней части документа XML ?? –

+0

Да, вы должны определить xmlwr. И если вам нужно, как вы упомянули в комментарии, используйте WriteAttributeString – AnandPhadke

Смежные вопросы