Я пытаюсь выбрать значение узла-с XML в виде таблицы в MySQL/MariaDBMySQL EXTRACTVALUE следующий-родственный альтернатива
Acoording к документации MySQL, following-sibling
не поддерживается в качестве оси XPath в MySQL. Есть ли альтернатива?
Docs: http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html#function_extractvalue
Моя структура XML выглядит примерно так:
<fields>
<record>
<id>10</id>
<value>Foo</value>
</record>
<record>
<id>20</id>
<value>Bar</value>
</record>
</fields>
мне нужно найти запись с ID 10, и получить текст в <value></value>
.
Valid XPath будет /fields/record/id[text()=10]/following-sibling::value/text()
, который будет возвращать Foo
Какие есть варианты?
Спасибо!
Всё. Имеет смысл! Прошло много времени с тех пор, как мне пришлось сгибать мышцы XPath, но это имеет общий смысл. Спасибо! На самом деле, для справки для кого-либо еще, последний 'text()' может быть опущен для MySQL Extract Value. Он делает это автоматически, поэтому MySQL будет примерно таким: 'SELECT EXTRACTVALUE (xmlData,"/fields/record [id [текст() = 10]]/value ") в качестве значения' – Danomite