0

我有一个 10+ MB 的 xml 文件,其中包含具有关系的节点(大约 10K 到 20K)。

<.....>
<Emplyoyee>
    <name>Jack</name>
    <age>35</age>
    <supervisor></supervisor>
    <....>
</Emplyoyee>
<.....>
<.....>
<.....>
<Emplyoyee>
    <name>Smith</name>
    <age>20</age>
    <supervisor>Jack</supervisor>
    <....>
</Emplyoyee>
<.....>

现在,我想解析这个文件并将所有详细信息存储在数据库中,其中包含一个名为“supervisorID”的字段(ID)的“Employee”表。到目前为止,我一直在尝试制作所有员工的列表,然后迭代列表以查找主管关系。

请建议我一种高效且更快的方法来执行此操作。我可以使用哪些库来处理此类问题。

4

2 回答 2

1

查看EclipseLink提供的MOXy框架。它实际上在幕后使用JAXB实现。但是JPA的 ORM 也是如此。

于 2012-09-19T21:33:19.813 回答
1

您可以使用 + 将数据从XML文件转换为 Java 对象,并使用+JAXB将 Java 对象插入数据库。 您可以创建 2 个 DTO - 包含有关 Emplyoyee 的所有信息(姓名、年龄、...) 以及用于JAXB 解 组HibernateJPA

Emplyoyee

EmplyoyeesList<Emplyoyee>

编辑:没有 JAXB 和 JPA

您可以使用javascript解析文件并使用Ajax发送SQL查询

var xmlDoc = new ActiveXObject("MSXML.DOMDocument");  
xmlDoc.async = false;
xmlDoc.preserveWhiteSpace = true;
xmlDoc.load(pathToFile);
var nodes = xmlDoc.selectNodes("/Emplyoyee");  
for (var node = nodes.nextNode(); node != null; node = nodes.nextNode())
{
   // get another nodes, create SQL query and sent it to server usinj Ajax  
}
于 2012-09-19T19:54:53.943 回答