有没有办法获取XmlNode并在数据网格视图中显示其数据?

时间:2009-06-30 19:48:38

标签: c# .net visual-studio-2008 web-services

我花了大约半天的时间寻找这个问题的答案,并且慢慢变得沮丧。我正在使用一个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中......所以我不知所措。

1 个答案:

答案 0 :(得分:0)

我建议您尝试使用DataSet而不是DataTable。我不知道它会起作用,但它有意义。架构可能包含多个表。

OTOH,XmlNode是否包含架构?


我建议你在调试器中查看。特别是,请注意查看XmlReader所在的节点。我不是100%确信它会随着你的需要而前进,从包装元素到架构,再到数据。

此外,是否有包装架构和数据的元素:

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

或者是架构和数据元素顶级节点。这将是一个片段。