Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
存储、解析和编辑数百个XML文件_Xml_Zend Framework_Large Data - Fatal编程技术网

存储、解析和编辑数百个XML文件

存储、解析和编辑数百个XML文件,xml,zend-framework,large-data,Xml,Zend Framework,Large Data,我开发了一个界面,用户可以上传一个zip文件,其中包含数百个XML文件,XML文件的行数大约在200到8000行之间 上传ZIP文件后,必须提取所有XML文件并向用户显示,因为用户需要手动编辑文件并批准XML文件的内容,然后才能将其移动并永久存储在服务器中 从永久存储器中,所有XML文件都将通过一个私有API调用返回给请求用户 让我困惑的是数据应该存储在临时或永久存储中的方式,因为编辑、排序、分页和搜索XML文件中的内容都需要数据 我在探索许多选择,其中一些是 使用MySql数据库存储数据 使用

我开发了一个界面,用户可以上传一个zip文件,其中包含数百个XML文件,XML文件的行数大约在200到8000行之间

上传ZIP文件后,必须提取所有XML文件并向用户显示,因为用户需要手动编辑文件并批准XML文件的内容,然后才能将其移动并永久存储在服务器中

从永久存储器中,所有XML文件都将通过一个私有API调用返回给请求用户

让我困惑的是数据应该存储在临时或永久存储中的方式,因为编辑、排序、分页和搜索XML文件中的内容都需要数据

我在探索许多选择,其中一些是

  • 使用MySql数据库存储数据
  • 使用ApacheLucene等全文搜索引擎进行存储(这可能是个坏主意,但不确定)
  • 将其存储在永久目录中,并直接读取/写入文件
  • 我想知道是否有人遇到过类似的问题,或者采取什么可行的方式来适应这种情况


    注:我正在使用Zend Framework with Doctrine进行应用程序开发。

    如果数据不是作为XML文件使用的(因此不需要查询或搜索数据),那么将数据保存在他们的文件中将是最佳做法。将其存储在数据库中会增加不必要的开销,特别是因为您一直在db和XML之间来回转换数据

    如果是这种情况,我将使用SimpleXML()编写一个包装器,它可以执行一些基本任务,如循环遍历XML文件、保存行等。如果需要添加某种搜索功能,可以使用DOMXPath()添加一些很酷的东西

    另一方面,如果以其他方式需要数据(如API、查询搜索等),我将解析传入的XML文件并将其存储在数据库中


    另外,我想补充一点,如果客户对系统和功能的长期意图不是100%清楚(只有您才能确定),我会选择数据库存储,尽管只使用XML格式会带来开销。如果所有内容都整齐地存储在数据库中,那么添加新功能(如计算、搜索、合并数据等)就不是问题。如果您的驱动器中充满了XML文件,您可能需要重写大量代码。

    如果数据不是作为XML文件使用的(因此不需要查询或搜索数据),那么将数据保存在其文件中将是最佳做法。将其存储在数据库中会增加不必要的开销,特别是因为您一直在db和XML之间来回转换数据

    如果是这种情况,我将使用SimpleXML()编写一个包装器,它可以执行一些基本任务,如循环遍历XML文件、保存行等。如果需要添加某种搜索功能,可以使用DOMXPath()添加一些很酷的东西

    另一方面,如果以其他方式需要数据(如API、查询搜索等),我将解析传入的XML文件并将其存储在数据库中

    另外,我想补充一点,如果客户对系统和功能的长期意图不是100%清楚(只有您才能确定),我会选择数据库存储,尽管只使用XML格式会带来开销。如果所有内容都整齐地存储在数据库中,那么添加新功能(如计算、搜索、合并数据等)就不是问题。如果你有一个装满XML文件的驱动器,你可能需要重写很多代码