今天我要为大家介绍的是XPath,XPath是导航和查询XML文档的语言。我们从一个函数开始。
UpdateXML()函数
我们已经花了很多时间介绍ExtractValue()函数,但还没有介绍MySQL的其它XML函数,如UpdateXML(),因为我们先前主要将内容放在将XML文档中的数据导入到MySQL数据库中了,UpdateXML()是一个使用不同的XML标记匹配和替换XML块的函数。
ExtractValue()有两个字符串参数,一个XML标记,一个XPath表达式。
ExtractValue(xml_frag, xpath_expr)
它返回第一个匹配XPath表达式的文本节点。假设你想将“
”变为“
”,并将结果保存到一个变量中,下面是使用UpdateXML()函数实现这个目标的做法:
mysql
>
SELECT
@new_xml_node
:
=
UpdateXML(
,
->
//city
,
->
)
->
AS
xml_node;
+
--
---------------------------------------+
|
xml_node
|
+
--
---------------------------------------+
|
<
state
><
county
><
city
/>
county
>
state
>
|
+
--
---------------------------------------+
1
row
in
set
(
0.03
sec)
mysql
>
SELECT
@new_xml_node
;
+
--
---------------------------------------+
|
@new_xml_node
|
+
--
---------------------------------------+
|
<
state
><
county
><
city
/>
county
>
state
>
|
+
--
---------------------------------------+
1
row
in
set
(
0.00
sec)
如果没有发现匹配表达式的文本节点,就返回原始XML字符串。