我花了大约半天的时间寻找这个问题的答案,并且慢慢变得沮丧。我正在使用一个Web服务,它返回一个XmlNode作为其响应。我希望能够通过节点获取XML数据引用并使用数据网格视图进行查看。有人知道这是否可行?
我使用以下代码:
// 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);
抛出异常:DataTable不支持Xml的模式推断。问题是,架构包含在响应引用的XML中......所以我不知所措。
答案 0 :(得分:0)
我建议您尝试使用DataSet而不是DataTable。我不知道它会起作用,但它有意义。架构可能包含多个表。
OTOH,XmlNode是否包含架构?
我建议你在调试器中查看。特别是,请注意查看XmlReader所在的节点。我不是100%确信它会随着你的需要而前进,从包装元素到架构,再到数据。
此外,是否有包装架构和数据的元素:
<node>
<xs:schema/>
<data/>
</node>
或者是架构和数据元素顶级节点。这将是一个片段。