2013-05-07 51 views
0

我有一個Web服務方法,我轉換爲XML查看ASP頁我的XML轉換器的方法:爲什麼我在asp.net web服務失去XML頭

 SqlDataAdapter MyDataAdapter; 
     MyDataAdapter = new SqlDataAdapter(com.CommandText, SqlConnection); 
     DataSet dsCategories = new DataSet(); 
     MyDataAdapter.SelectCommand.CommandTimeout = 1000; 

     MyDataAdapter.Fill(dsCategories, "Category"); 
     dsCategories.WriteXml(Server.MapPath("Category.xml")); 

     System.IO.StringWriter writer = new System.IO.StringWriter(); 
     dsCategories.WriteXml(writer, XmlWriteMode.WriteSchema); 
     string xmlFromDataTable = writer.ToString(); 
     response.Write(xmlFromDataTable); 
     response.ContentType = "text/xml; charset=utf-16"; 

的錯誤是

1846行18列:XML聲明僅允許在文檔的開頭

XML沒有XML聲明標頭。我該如何解決它?

回答

0

我懷疑還有一些其他的東西被寫入XML之前的頁面。

或許,如果你嘗試以下(添加response.Clear()):

string xmlFromDataTable = writer.ToString(); 
response.Clear(); 
response.ContentType = "text/xml; charset=utf-16"; 
response.Write(xmlFromDataTable); 

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.clear.aspx

+0

感謝,但它沒有工作,我認爲,我覺得是因爲 '&' 符號的錯誤。因爲我的數據不僅包含'&'符號。如何解決它? – Bip 2013-05-07 13:13:16

+0

你需要的&符號,但如果你的XML文件已經格式良好,那麼它應該已經被轉義了。你能用IE打開文件系統上的XML文件嗎?沒有任何錯誤/警告?這裏幾乎涵蓋了任何可能出錯的地方。 http://stackoverflow.com/questions/543319/how-to-return-xml-in-asp-net – mikey 2013-05-07 13:20:22

+0

XML文件真正打開我不明白錯誤,但我批准另一種方式,我使用列表獲取數據感謝幫助 – Bip 2013-05-07 14:02:22

相關問題