Java MySQL从XML文件插入数据

Java MySQL从XML文件插入数据,java,mysql,xml,Java,Mysql,Xml,我有一个这样的xml文件: <dbReference type="PM" id="17224074"/> <dbReference type="DOI" id="10.1186/bcr1637"/> </citation> <scope>VARIANTS ILE-282 AND ASN-777</scope> </reference> <comment type="function"> <text evid

我有一个这样的xml文件:

<dbReference type="PM" id="17224074"/>
<dbReference type="DOI" id="10.1186/bcr1637"/>
</citation>
<scope>VARIANTS ILE-282 AND ASN-777</scope>
</reference>
<comment type="function">
<text evidence="24">Calcium.</text>
</comment>
<comment type="function">
<text evidence="24">Has a strong inhibitory effect on APP C99 and C83 production.</text>
</comment>
<comment type="subunit">
<text evidence="5 13">Homodimer; disulfide-linked.</text>
</comment>
<comment type="interaction">
<interactant intactId="EBI-727477"/>
<interactant intactId="EBI-7644904">
<id>Q9JIY2</id>
<label>Cbll1</label>
</interactant>
<organismsDiffer>true</organismsDiffer>
<experiments>21</experiments>
</comment>
我将在“评论”栏中保留“钙”和“作为对应用程序C99和C83生产的强烈抑制作用”。 我原以为可以使用LOAD xml将这些信息直接从xml插入到表中,但我的xml文件有太多不同的字段。
我该怎么做?是否必须首先从xml中提取数据,然后插入到表中?

首先使用xml解析器(例如)解析文件,然后遍历节点,查找注释节点。对于每个具有“函数”类型的节点,将节点文本放入数据库。

首先使用XML解析器(如)解析文件,然后在节点上迭代,查找注释节点。对于每个具有“函数”类型的节点,将节点文本放入数据库。

一个有用的选项:

文件:“/path/to/xml/File/xmlfile.xml”


变体ILE-282和ASN-777
钙。
对APP C99和C83的产生有强烈的抑制作用。
同二聚体;二硫键连接。
Q9JIY2
Cbll1
真的
21
MySQL命令行:

mysql>删除临时表(如果存在)`temp_information`;
查询正常,0行受影响,1条警告(0.00秒)
mysql>删除表(如果存在)`information`;
查询正常,0行受影响,1条警告(0.00秒)
mysql>创建表(如果不存在)`information`(
->`id`VARCHAR(255)不为空,
->`name`VARCHAR(255),
->`entry`VARCHAR(255),
->“评论”长文,
->主键(`id`)
-> );
查询正常,0行受影响(0.00秒)
mysql>创建临时表(如果不存在)`temp_information`(
->`id`INT无符号自动递增主键,
->`type`VARCHAR(20),
->`文本`文本,
->“证据”瓦尔查(20)
-> );
查询正常,0行受影响(0.00秒)
mysql>加载XML内嵌'/path/to/XML/file/xmlfile.XML'
->进入表'temp_'信息`
->由“”标识的行;
查询正常,4行受影响(0.00秒)
记录:4已删除:0已跳过:0警告:0
mysql>插入到'information'('id','comment')中
->选择UUID(),GROUP_CONCAT(`text`按`id`分隔符“”排序)
->从
->”“临时信息`
->在哪里
->`type`='function'
->按“证据”分组;
查询正常,1行受影响(0.00秒)
记录:1重复:0警告:0
mysql>选择
->`id`,
->`name`,
->`entry`,
->“评论`
->从
->“信息”;
+--------------------------------------+------+-------+------------------------------------------------------------------------+
|id |名称|条目|注释|
+--------------------------------------+------+-------+------------------------------------------------------------------------+
|e720d259-fcde-11e5-be3f-a4badbf9ce21 |零|零|钙。对APP C99和C83的产生有强烈的抑制作用|
+--------------------------------------+------+-------+------------------------------------------------------------------------+
一行一组(0.00秒)
mysql>删除临时表(如果存在)`temp_information`;
查询正常,0行受影响(0.00秒)
检查:

  • XML文件格式
  • 系统变量

一个有用的选项:

文件:“/path/to/xml/File/xmlfile.xml”


变体ILE-282和ASN-777
钙。
对APP C99和C83的产生有强烈的抑制作用。
同二聚体;二硫键连接。
Q9JIY2
Cbll1
真的
21
MySQL命令行:

mysql>删除临时表(如果存在)`temp_information`;
查询正常,0行受影响,1条警告(0.00秒)
mysql>删除表(如果存在)`information`;
查询正常,0行受影响,1条警告(0.00秒)
mysql>创建表(如果不存在)`information`(
->`id`VARCHAR(255)不为空,
->`name`VARCHAR(255),
->`entry`VARCHAR(255),
->“评论”长文,
->主键(`id`)
-> );
查询正常,0行受影响(0.00秒)
mysql>创建临时表(如果不存在)`temp_information`(
->`id`INT无符号自动递增主键,
->`type`VARCHAR(20),
->`文本`文本,
->“证据”瓦尔查(20)
-> );
查询正常,0行受影响(0.00秒)
mysql>加载XML内嵌'/path/to/XML/file/xmlfile.XML'
->进入表'temp_'信息`
->由“”标识的行;
查询正常,4行受影响(0.00秒)
记录:4已删除:0已跳过:0警告:0
mysql>插入到'information'('id','comment')中
->选择UUID(),GROUP_CONCAT(`text`按`id`分隔符“”排序)
->从
->”“临时信息`
->在哪里
->`type`='function'
->按“证据”分组;
查询正常,1行受影响(0.00秒)
记录:1重复:0警告:0
mysql>选择
->`id`,
->`name`,
->`entry`,
->“评论`
->从
->“信息”;
+--------------------------------------+------+-------+------------------------------------------------------------------------+
|id |名称|条目|注释|
+--------------------------------------+------+-------+------------------------------------------------------------------------+
|e720d259-fcde-11e5-be3f-a4badbf9ce21 |零|零|钙。对APP C99和C83的产生有强烈的抑制作用|
+--------------------------------------+------+-------+------------------------------------------------------------------------+
一行一组(0.00秒)
mysql>删除临时表(如果存在)`temp_information`;
查询正常,0行受影响(0.00秒)
检查:

  • XML文件格式
  • 系统变量
<comment type="function">...</comment>
CREATE TABLE IF NOT EXISTS INFORMATION (id varchar(255) NOT NULL, name varchar(255), entry varchar(255), comment longtext, PRIMARY KEY (id));