MYSQL extractValue

时间:2017-10-18 16:43:19

标签: mysql sql xpath

我有以下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>

所以在我输入时选择ExtractValue(databasexmlfield,&#39; // holder // title&#39;) 它打印先生 Mysql版本是最新的5.5

1 个答案:

答案 0 :(得分:0)

尝试:

SELECT
  ExtractValue(@`xml`, '//ns8:vehicle/attribute::vinNumber'),
  ExtractValue(@`xml`, '//ns8:vehicle/ns8:registration/attribute::number');

请参阅db-fiddle