Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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文件的数据-.NET_C#_Xml_Vb.net_Parsing - Fatal编程技术网

C# 存储多个已解析XML文件的数据-.NET

C# 存储多个已解析XML文件的数据-.NET,c#,xml,vb.net,parsing,C#,Xml,Vb.net,Parsing,我一直在开发一个VB应用程序,它可以解析多个XML文件,并从中创建一个Excel文件 这方面的主要问题是,我只是在读取每个XML的每一行,并在找到特定节点时将它们输出到Excel文件。我想知道是否存在任何方法来存储来自每个元素的数据,只要在解析完所有内容(所有XML文件)后使用它 我在考虑数据库,但我认为这是过度和不必要的。也许你可以给我一些想法,让它工作起来。System.Data.DataSet可以用作“内存数据库” 您可以使用数据集在内存中存储信息-一个数据集可以包含多个数据表,并且您可以

我一直在开发一个VB应用程序,它可以解析多个XML文件,并从中创建一个Excel文件

这方面的主要问题是,我只是在读取每个XML的每一行,并在找到特定节点时将它们输出到Excel文件。我想知道是否存在任何方法来存储来自每个元素的数据,只要在解析完所有内容(所有XML文件)后使用它


我在考虑数据库,但我认为这是过度和不必要的。也许你可以给我一些想法,让它工作起来。

System.Data.DataSet可以用作“内存数据库”

您可以使用
数据集
在内存中存储信息-一个
数据集
可以包含多个
数据表
,并且您可以在运行时向这些数据表添加列,即使
数据表
中已经有行。因此,即使您事先不知道XML节点名称,也可以在它们出现时将它们添加为列

您还可以使用
DataView
s来过滤
数据集中的数据


我预解析XML的典型方法是创建一个两列
DataTable
,其中包含每个节点的XPATH地址及其值。然后,您可以进行第二次传递,将XPATH地址与对象/数据集相匹配。

您可以使用
System.Xml.XmlDocument
将整个Xml文件加载到内存中,或者使用
System.Xml.XmlReader
将Xml文件作为流加载。是的,我已经这样做了。我使用XmlDocument读取、获取数据并将其保存到变量中。问题不是解析文件,而是完全“导出”数据,避免使用“读取和输出”方法。这似乎正是我要找的!我将调查有关数据集的所有信息。非常感谢。