MySQL的XML获得的第一个孩子
问题描述:
我有如下的XML格式:MySQL的XML获得的第一个孩子
<a>
<b>x</b>
<b>y</b>
<b>z</b>
<c>something</c>
</a>
如何使用MySQL来得到<a>
这是一个节点<b>
的第一个孩子?我需要MySQL语法来获得某个类型的第一个孩子
答
您可以使用MySQL function ExtractValue(field,xpath)
来选择XML内的元素。
使用XPath,您可以选择谓词为[1]
的第一个元素。随着MySQL的表内的给定的XML,使用下面的选择返回,即第一元素内<a>
:
select ExtractValue(content, '/a/*[1]') from YourTable;
这将返回值x
。如果你想获得第一<b>
只需使用此选择:
select ExtractValue(content, '/a/b[1]') from YourTable;
你看着[XML功能](http://dev.mysql.com/doc/refman/5.7/en/xml-functions。 HTML#function_extractvalue)?你有什么问题? – JRD