今天我要為大家介紹的是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(<state><city/></state>,
-> //city,
-> <county><city/></county>)
-> 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字符串。
mysql> SELECT @new_