首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分析大型(300mb+) xml文件并将其放入数据库?

如何分析大型(300mb+) xml文件并将其放入数据库?
EN

Stack Overflow用户
提问于 2011-12-28 14:06:58
回答 2查看 230关注 0票数 1

我想要获取一个庞大的XML文件,一个creative-commons许可的字典,并将其放入数据库中。问题是没有关于该文件的文档。这个xml文件中有数十万个单词,其中大部分是这样的,

代码语言:javascript
复制
<entry key="a)rxiereu/s" type="main" id="n5063">
  <form opt="n"><orth extent="full" lang="greek" opt="n">a)rxiereu/s</orth></form>
  <sense level="0" n="0" id="n5063.0" opt="n"><trans opt="n"><tr opt="n">an arch-priest, chief-priest</tr></trans>, <usg opt="n">Hdt.</usg> [...] </sense>
</entry>

有没有办法比较所有的<entry>标签和它们的属性?例如,几乎所有的<entry>标签都有<type="main">,有没有方法可以发现其他类型的属性是否有不同于main的值?还是整个文档中entry标记使用的所有属性和sense标记的所有属性?

最后,我真正熟悉的是基于网络的技术,HTML,Javascript,PHP等等,所以我自然会认为在MySQL数据库中获取这些内容的最好方法是编写一个php脚本,这一定是正确的吗?

EN

回答 2

Stack Overflow用户

发布于 2011-12-28 15:24:36

探索此文件中的内容的一个好方法是使用XQuery。例如,问题的答案是“是否有任何方法可以发现类型的任何其他属性是否具有main以外的值?”可以通过以下查询来回答

代码语言:javascript
复制
distinct-values(//@type)
票数 2
EN

Stack Overflow用户

发布于 2011-12-28 14:24:08

您需要的是一个XML解析器。对于C++来说,这是一个很小的XML。但既然您熟悉Web技术,我建议您使用PHP。

看一看Simple XML on PHP.net

这个页面描述了如何获取元素SimpleXMLElement::attributes的属性

我想知道你是否会解析一次XML,将其存储在数据库中,或者需要重复解析。在前一种情况下,您甚至可以尝试TinyXML

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8652460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档