如何在MySQL中使用XPATH选择?

rip*_*234 5 mysql sql xpath

假设我有一个名为"xml"的表,它将XML文件存储在单个列"data"中.我如何编写运行XPath的MySQL查询并仅返回与该XPath匹配的行?

Bil*_*win 8

SELECT * FROM xml
WHERE EXTRACTVALUE(data, '<xpath-expr>') != '';
Run Code Online (Sandbox Code Playgroud)

但是,您应该注意到MySQL对XPath的支持存在限制.

  • EXTRACTVALUE() 仅返回CDATA.
  • 并非所有XPath构造都受支持.abatishchev的答案中提到的doc 页面上的"XPath限制"标题下的详细信息.