我们如何从XML文件中将数据加载到MysqL表?
有没有办法从XML文件读取数据并写入MySql数据库..
我在XML文件中有大量数据.
在此先感谢您的帮助.
解决方法:
试试LOAD XML功能(MysqL 6.0).以下是参考手册中的示例代码:
使用包含以下内容的XML文档person.xml:
<?xml version="1.0"?>
<list>
<person person_id="1" fname="Pekka" lname="Nousiainen"/>
<person person_id="2" fname="Jonas" lname="Oreland"/>
<person person_id="3"><fname>Mikael</fname><lname>Ronström</lname></person>
<person person_id="4"><fname>lars</fname><lname>Thalmann</lname></person>
<person><field name="person_id">5</field><field name="fname">Tomas</field><field name="lname">Ulin</field></person>
<person><field name="person_id">6</field><field name="fname">Martin</field><field name="lname">Sköld</field></person>
</list>
你会创建一个像这样的表:
CREATE TABLE person (
person_id INT NOT NULL PRIMARY KEY,
fname VARCHAR(40) NULL,
lname VARCHAR(40) NULL,
created TIMESTAMP
);
并使用以下命令导入XML:
LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';
或者,如果您运行的是MysqL 5.0,则可以使用LOAD_FILE将整个XML文档作为字符串加载到单个列中,然后使用MysqL的XPath功能对其进行解析.
MysqL.com上的这篇文章有更多细节:Using XML in MySQL 5.1 and 6.0.