如何在java或php中解析一个非常大的xml文件并插入一个mysql DB
我正在尝试将一个庞大的xml文件解析到我的MySQL数据库中。该文件是4.7克。我知道,它疯了。
数据来自这里:http://www.discogs.com/data/(最新专辑xml是700mb压缩和4.7gb解压缩)
我可以使用java或php来解析和更新数据库。我认为java是更聪明的想法。
我需要找到一种方法来解析xml而不填充我的4gb ram,并将其加载到db中。
这样做最聪明的方法是什么?我听说过SAX解析器,我在想正确的方向吗?
现在,我不关心从这些网址下载图像,我只想要数据库中的数据。我还没有设计表格,但我现在对xml方面更感兴趣。
我使用php的fread()来打开文件的前1000个叮咬,所以至少我可以看到它的样子,这里是文件中第一张专辑的结构示例:
<releases>
<release id="1" status="Accepted">
<images>
<image height="600" type="primary" uri="http://s.dsimg.com/image/R-1-1193812031.jpeg" uri150="http://s.dsimg.com/image/R-150-1-1193812031.jpeg" width="600" />
<image height="600" type="secondary" uri="http://s.dsimg.com/image/R-1-1193812053.jpeg" uri150="http://s.dsimg.com/image/R-150-1-1193812053.jpeg" width="600" />
<image height="600" type="secondary" uri="http://s.dsimg.com/image/R-1-1193812072.jpeg" uri150="http://s.dsimg.com/image/R-150-1-1193812072.jpeg" width="600" />
<image height="600" type="secondary" uri="http://s.dsimg.com/image/R-1-1193812091.jpeg" uri150="http://s.dsimg.com/image/R-150-1-1193812091.jpeg" width="600" />
</images>
<artists>
<artist>
<name>Persuader, The</name>
</artist>
</artists>
<title>Stockholm</title>
<labels>
<label catno="SK032" name="Svek" />
</labels>
<formats>
<format name="Vinyl" qty="2">
<descriptions>
<description>12"</description>
</descriptions>
</format>
</formats>
<genres>
<genre>Electronic</genre>
</genres>
<styles>
<style>Deep House</style>
</styles>
<country>Sweden</country>
<released>1999-03-00</released>
<notes>Recorded at the Globe studio in Stockholm. The titles are the names of Stockholm's districts.</notes>
<master_id>5427</master_id>
<tracklist>
<track>
<position>A</position>
<title>Östermalm</title>
<duration>4:45</duration>
</track>
<track>
<position>B1</position>
<title>Vasastaden</title>
<duration>6:11</duration>
</track>
<track>
<position>B2</position>
<title>Kungsholmen</title>
<duration>2:49</duration>
</track>
<track>
<position>C1</position>
<title>Södermalm</title>
<duration>5:38</duration>
</track>
<track>
<position>C2</position>
<title>Norrmalm</title>
<duration>4:52</duration>
</track>
<track>
<position>D</position>
<title>Gamla Stan</title>
<duration>5:16</duration>
</track>
</tracklist>
</release>
谢谢。
没有找到相关结果
已邀请:
7 个回复
细瑞
哩翔购
剿畦缄饥小
磨标烫徽啪
搂腹时
疮痪徘弦漏
超可林