2009-06-30 52 views
0

我花了大約半天的時間尋找這個問題的答案,並且慢慢地感到沮喪。我正在使用返回XmlNode作爲響應的Web服務。我希望能夠通過節點獲取XML數據引用並使用數據網格視圖查看它。有誰知道這是否可能?有沒有辦法讓一個XmlNode在DataGrid視圖中顯示其數據?

我使用下面的代碼:

  // submit command to webserver 
     XmlNode response = SubmitToWebserv((XmlElement)IssueNode, state.Get); 

     // create XML reader to read response 
     XmlReader reader = new XmlNodeReader(response); 

     // create a data table to hold response 
     DataTable dt = new DataTable(); 
     dt.ReadXmlSchema(reader); 

     // read data into data table 
     dt.ReadXml(reader); 

它拋出異常:數據表不從支持XML架構推斷。問題是,模式被包含在由響應引用的XML中......所以我不知所措。

回答

0

我建議你嘗試使用DataSet而不是DataTable。我不知道它會起作用,但它是有道理的。該模式可能包含多個表。

OTOH,XmlNode是否包含模式?


我推薦你在調試器中看看這個。尤其要注意查看XmlReader所在的節點。我不是100%相信它會從包裝元素到架構,再到數據,隨意更新。

此外,有沒有一個元素包裹的模式和數據:

<node> 
    <xs:schema/> 
    <data/> 
</node> 

或者是模式和數據元素頂級節點。這將是一個片段。

+0

是的,模式包含在XmlNode中。這就是爲什麼我有點困惑。 – 2009-06-30 19:57:37

相關問題