2015-12-15 30 views
0

我有如下的XML格式:MySQL的XML獲得的第一個孩子

<a> 
    <b>x</b> 
    <b>y</b> 
    <b>z</b> 
    <c>something</c> 
</a> 

如何使用MySQL來得到<a>這是一個節點<b>的第一個孩子?我需要MySQL語法來獲得某個類型的第一個孩子

+2

你看着[XML功能](http://dev.mysql.com/doc/refman/5.7/en/xml-functions。 HTML#function_extractvalue)?你有什麼問題? – JRD

回答

1

您可以使用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;