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