要使用MySQL的EXTRACTVALUE函數(shù)解析XML,您需要遵循以下步驟:
CREATE TABLE xml_data (
id INT PRIMARY KEY,
xml_data TEXT
);
INSERT INTO xml_data (id, xml_data) VALUES (1, '<bookstore><book><title>Harry Potter</title><author>J.K. Rowling</author></book></bookstore>');
SELECT EXTRACTVALUE(xml_data, '//bookstore/book/title') AS title,
EXTRACTVALUE(xml_data, '//bookstore/book/author') AS author
FROM xml_data
WHERE id = 1;
在上面的例子中,我們使用EXTRACTVALUE函數(shù)從XML數(shù)據(jù)中提取書的標(biāo)題和作者。請(qǐng)注意,第一個(gè)參數(shù)是包含XML數(shù)據(jù)的列名,第二個(gè)參數(shù)是XPath表達(dá)式,用于指定要提取的值的位置。
您現(xiàn)在應(yīng)該能夠看到包含XML數(shù)據(jù)的表格中提取的書的標(biāo)題和作者。
請(qǐng)注意,EXTRACTVALUE函數(shù)在MySQL 5.1.16及更高版本中可用,并且在MySQL 5.7.8及更高版本中已被棄用。如果您使用的是MySQL 5.7.8及更高版本,建議使用XML函數(shù)來(lái)替代EXTRACTVALUE函數(shù)。