【问题标题】:Easiest Way to Store Scraped Data存储报废数据的最简单方法
【发布时间】:2012-10-28 07:31:43
【问题描述】:

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

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

  1. System.Data.SQLite
  2. CSV
  3. XML

我认为这些是大多数人会立即提出的解决方案。到目前为止,我已经尝试了解决方案 1,但对于相对较少的记录而言,它似乎比必要的工作要多。

对于这个项目,你会推荐什么存储方式?

【问题讨论】:

    标签: c# database screen-scraping


    【解决方案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;
        }
    }
    

    【讨论】:

    • 这就是我在回答时所想的。谢谢你的例子。我最终序列化了一个对象向量。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      相关资源
      最近更新 更多