Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将XML读入数据集_C#_Xml_Datagrid - Fatal编程技术网

C# 如何将XML读入数据集

C# 如何将XML读入数据集,c#,xml,datagrid,C#,Xml,Datagrid,我有一个类,它指向一个URL,并使用xmlDoc.Load(URL)获取一个xml文档。为了测试该类,我添加了一个web项目,以在网格视图中显示xml 在单击按钮时,我创建了一个xml文档的实例,并将其填充为: xmlDoc=myClassName() 我一直在研究如何将xmlDoc转换为数据源可用的格式 我完全搞不清楚如何将xml作为dataset显示在网格中。ReadXml似乎需要一个文件路径。我不理解其他重载。我想我必须将xml读入一个字符串或其他东西,但我不知道如何做到这一点——即使在阅

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

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

xmlDoc=myClassName()

我一直在研究如何将xmlDoc转换为数据源可用的格式

我完全搞不清楚如何将xml作为dataset显示在网格中。ReadXml似乎需要一个文件路径。我不理解其他重载。我想我必须将xml读入一个字符串或其他东西,但我不知道如何做到这一点——即使在阅读了这里的许多帖子和MSDN之后——谢谢

示例:

string xml =@"<xml><customer><id>1</id></customer></xml>";

DataSet ds = new DataSet();
ds.ReadXml(XmlReader.Create(new StringReader(xml)));
更新:

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。我不知道你指的是什么…谢谢-我来试试。。。最后一条评论是在你的update@Brian.InnerXml只是一个返回XmlDocument对象的字符串xml表示形式的方法。请在此处阅读更多信息:
DataSet ds = new DataSet();
//xmlDocument is your XmlDocument instance
ds.ReadXml(XmlReader.Create(new StringReader(xmlDocument.InnerXml)));

grid.DataSource=newDataSet.Tables[0];