【问题标题】:How to Read XML into a DataSet如何将 XML 读入数据集中
【发布时间】:2012-05-10 14:52:02
【问题描述】:

我有一个类可以访问 URL 并使用 xmlDoc.Load(URL) 获取 xml 文档。为了测试该类,我添加了一个 Web 项目以在网格视图中显示 xml。

在按钮单击中,我创建了一个 xml 文档的实例并将其填充为:

xmlDoc = myClassName()

我不知道如何将 xmlDoc 转换为数据源可用的格式

我完全不知道如何让 xml 在网格中显示为 dataset.ReadXml 似乎需要一个文件路径。我不明白其他重载。我想我必须将 xml 读入字符串或其他内容,但我不明白如何做到这一点 - 即使在这里阅读了许多帖子和 MSDN - 谢谢!

【问题讨论】:

    标签: c# xml datagrid


    【解决方案1】:

    例子:

    string xml =@"<xml><customer><id>1</id></customer></xml>";
    
    DataSet ds = new DataSet();
    ds.ReadXml(XmlReader.Create(new StringReader(xml)));
    

    现在将数据源设置为您的网格:

    grid.DataSource=newDataSet.Tables[0];
    

    更新:

    DataSet ds = new DataSet();
    //xmlDocument is your XmlDocument instance
    ds.ReadXml(XmlReader.Create(new StringReader(xmlDocument.InnerXml)));
    
    grid.DataSource=newDataSet.Tables[0];
    

    【讨论】:

    • 该类返回 System.Xml.XmlDocument 的一个实例。它不是一个字符串。
    • XmlTextReader 还需要一个我没有的文件路径,因为它没有存储在磁盘上。
    • @Brian 我根本没有使用 XmlTextReader。我不知道你指的是什么......
    • 谢谢 - 我会试一试...最后一条评论是在您更新之前发布的
    • @Brian .InnerXml 只是一个返回 XmlDocument 对象的字符串 xml 表示的方法。在这里阅读更多:msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2013-04-27
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多