mysql中导入xml文件_xml文件导入MySQL数据库

使用Load_File()函数导入XML数据

MySQL 5.1.5包括了两个新的函数:ExtractValue()和UpdateXML()。

ExtractValue():使用XPath符号从XML字符串提取值。

UpdateXML():返回一个替代的XML片段。

MySQL中导入XML数据最常用的方法是使用LOAD_FILE()函数打开一个完整的XML文档,将其存储在一个变量中,然后将变量插入到一个表列中。这里还是以client_citizenship表为例进行说明,但这一次它只包括两个字段:一个自增长的ID和一个xml_data列(就是由它存储XML文档),TEXT数据类型非常适合用在这个列上,因为它可以容纳非常长的字符串。

CREATE TEMPORARY TABLE client_citizenship (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

xml_data TEXT NOT NULL

);

SET @xml = LOAD_FILE("c:\\client_citizenships.xml");

INSERT INTO client_citizenship VALUES (NULL, @xml);

现在我们可以使用ExtractValue()函数从xml_data字段检索变量了,ExtractValue()函数有两个参数,第一个是被检查的XML片段,第二个是XPath表达式。XPath是一门专门设计用于查询XML文档中节点信息的语言,在http://www.doczj.com/doc/8fe1cb4fe45c3b3567ec8b96.html网站有完整的XPath介绍。XPath参数在元素选择器中可以包括冒号“:”,以支持命名空间。检索数据包括两步,首先从client_citizenship表获得XML,然后将其放进变量。

SELECT xml_data FROM client_citizenship LIMIT 1 INTO @xml;

现在我们使用ExtractValue()函数,@xml作为第一个参数,XPath字符串作为第二个参数进行查询:

SELECT ExtractValue(@xml, '//row[2]/field[1]/@name'),

ExtractValue(@xml, '//row[2]/field[1]');

在前一个ExtractValue()调用中,XPath表达式检索第二个中的第一个元素的name属性的值,如果你再次调用,name属性会包含列头;第二个XPath表达式提取文本节点,当然包括字段的值了。

TechTarget中国原创内容,原文链接:http://www.doczj.com/doc/8fe1cb4fe45c3b3567ec8b96.html/showcontent_29782.htm

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值