我正在试图找到最好的方法来完成以下任务:
- 每天从第三方网站下载一个大型XML文件(1GB)
- 将该XML文件转换为服务器上的关系型数据库
- 添加功能以搜索数据库
对于第一部分,这是需要手动完成的还是可以使用cron完成?
与XML和关系型数据库相关的大多数问题和答案都涉及Python或PHP。使用javascript/nodejs也能行吗?
如果这个问题更适合其他的StackExchange论坛,请告诉我,我会把它移动到那里。
下面是xml代码的示例:
<case-file>
<serial-number>123456789</serial-number>
<transaction-date>20150101</transaction-date>
<case-file-header>
<filing-date>20140101</filing-date>
</case-file-header>
<case-file-statements>
<case-file-statement>
<code>AQ123</code>
<text>Case file statement text</text>
</case-file-statement>
<case-file-statement>
<code>BC345</code>
<text>Case file statement text</text>
</case-file-statement>
</case-file-statements>
<classifications>
<classification>
<international-code-total-no>1</international-code-total-no>
<primary-code>025</primary-code>
</classification>
</classifications>
</case-file>
以下是有关这些文件将如何使用的更多信息:
所有XML文件将采用相同格式。每个记录中可能有几十个元素。这些文件由第三方每天更新(并在第三方网站上以压缩文件的形式提供)。每天的文件都代表了新的案件文件和更新的案件文件。
目标是允许用户搜索信息并在页面上(或生成的pdf/excel文件中)组织这些搜索结果。例如,用户可能想查看包含特定单词在<text>
元素内的所有案件文件。或者用户可能想要查看包括主代码025 (<primary-code>
元素)且在特定日期(<filing-date>
元素)之后被提交的所有案件文件。
数据库中输入的唯一数据将来自XML文件 - 用户不会向数据库添加任何自己的信息。
<case-file>
开头和结尾。这是可以逐个块解析的吗? - Ken