首页 > 解决方案 > 尝试使用 mysql 检索其中具有命名空间的 xml 标记值。下面是示例 xml 代码,要提取 dateTo 字段的值

问题描述

<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <dateTo xmlns="https://www.wr.com">12Sep2018<dateTo>
  <body1>Don't forget me this weekend!</body1>
</note>

想要从上面的 xml 示例中获取 dateTo 字段的值。请帮忙。在下面的代码行中尝试过,但它给了我空值。extractvalue(sampleXml,'//note/dateTo') 或 extractvalue(sampleXml,'//note/dateTo','xmlns="https://www.wr.com"')。当我尝试提取“to”字段或“heading”字段的值时,它给了我所需的值。

标签: mysql

解决方案


SELECT ExtractValue(sampleXml, '/tns:dateTo', 'xmlns:tns="https://www.wr.com"');

这最终工作得很好。


推荐阅读