我正在尝试从 MySQL/MariaDB 的表中的 XML 中选择节点的值
根据 MySQL 文档,following-sibling
在 MySQL 中不支持作为 XPath 轴。有替代方案吗?
文档: 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>
中的文本.
有效的 XPath 应该是 /fields/record/id[text()=10]/following-sibling::value/text()
这将返回 Foo
我有哪些选择?
谢谢!
最佳答案
在这个简单的例子中你不需要following-sibling
。试试这个:
/fields/record[id[text()=10]]/value/text()
在括号内使用标记 id
将您的上下文保留在 record
以便以下斜杠下降到 id
的相应兄弟(具有与 id
相同的父级)。
关于MySQL ExtractValue 跟随兄弟替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966453/