我有以下xml
<ns8:vehicles>
<ns8:vehicle vinNumber="asdaqwe" model="lambda" make="xdeee">
<ns8:registration number="e123asdz23" date="2016-07-22"/>
<ns8:usage type="Passenger"/>
</ns8:vehicle>
</ns8:vehicles>
并尝试在查询中使用extractValue获取元素vinNumber和注册号
所以我正在做这样的事情:
select ExtractValue(databasexmlfield, '//ns8:vehicle//ns8:registration')
select ExtractValue(databasexmlfield, '//ns8:vehicle//ns8:registration number')
select ExtractValue(databasexmlfield, '//ns8:vehicle//ns8:registration::number')
这些工作均不返回xpath错误或返回0数据。
我该如何工作?
像这样显示xml时,它正在工作:
<holder id="1">
<title>Mr</title>
所以当我输入select ExtractValue(databasexmlfield,'// holder // title')
它打印先生。
MySQL版本是最新的5.5
最佳答案
尝试:
SELECT
ExtractValue(@`xml`, '//ns8:vehicle/attribute::vinNumber'),
ExtractValue(@`xml`, '//ns8:vehicle/ns8:registration/attribute::number');
请参见db-fiddle。