Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# 存储刮取数据的最简单方法_C#_Database_Screen Scraping - Fatal编程技术网

C# 存储刮取数据的最简单方法

C# 存储刮取数据的最简单方法,c#,database,screen-scraping,C#,Database,Screen Scraping,我正在创建一个应用程序,它将搜索语言中函数的文档并返回结果。目前,文档由一个页面组成,该页面链接到专用于所选功能的页面。我准备了一种使用HTML Agility Pack检索数据的方法。我还有一个搜索关键字的算法。我只需要一种存储数据的方法。在这种情况下,易用性对我来说比效率更重要,因为应用程序只需要存储大约75条记录 以下是我提出的潜在解决方案列表: System.Data.SQLite CSV XML 我认为大多数人会立即提出这些解决方案。到目前为止,我已经尝试了解决方案1,对于数量相对较少

我正在创建一个应用程序,它将搜索语言中函数的文档并返回结果。目前,文档由一个页面组成,该页面链接到专用于所选功能的页面。我准备了一种使用HTML Agility Pack检索数据的方法。我还有一个搜索关键字的算法。我只需要一种存储数据的方法。在这种情况下,易用性对我来说比效率更重要,因为应用程序只需要存储大约75条记录

以下是我提出的潜在解决方案列表:

  • System.Data.SQLite
  • CSV
  • XML
  • 我认为大多数人会立即提出这些解决方案。到目前为止,我已经尝试了解决方案1,对于数量相对较少的记录来说,这似乎需要做更多的工作


    对于这个项目,您建议使用什么存储方法?

    如果数据集相对较小,并且速度不是问题,我会选择XML。如果您正确地设计了类,并且它是可序列化的,那么只需使用内置Xml序列化即可

    [Serializable]
    public class MyDataStorage
    {
        // some members
    
        public void Store( String filename )
        {
            XmlSerializer serializer = new XmlSerializer( typeof( MyDataStorage ) );
            using ( FileStream stream = File.OpenWrite( filename ) )
            {
                serializer.Serialize( stream, this );
            }
        }
    
        public static MyDataStorage Load(String filename )
        {
            XmlSerializer serializer = new XmlSerializer( typeof( MyDataStorage ) );
            object deserialized;
            using ( FileStream stream = File.OpenRead( filename ) )
            {
                deserialized = serializer.Deserialize( stream );
            }
    
            return (MyDataStorage) deserialized;
        }
    }
    

    对于平面数据,csv。否则是xml或json。

    这就是我在回答时考虑的问题。谢谢你的例子。我最终序列化了一个对象向量。