简体   繁体   English

使用sql从xml提取值

[英]Extracting values from xml using sql

I need to fetch the data from the xml that is stored in the database by using the sql query. 我需要通过使用sql查询从存储在数据库中的xml中获取数据。 The xml is like the following xml如下所示

 <outerNode>
   <innerNode>
      <element1>Workflow1</element1>
      <element2>619</element2>
      <element3>aioperator1</element3>
      <element4>0</element4>
      <element5>623</element5>
   </innerNode>
   <innerNode>
      <element1>Workflow2</element1>
      <element2>620</element2>
      <element3>amloperator1</element3>
      <element4>1</element4>
     <element5>624</element5>
   </innerNode>
</outerNode>

Now, what I need to do is to get only those elements which are "aioperator1" using the MySql query. 现在,我需要做的是使用MySql查询仅获取那些是“ aioperator1”的元素。 Any help will be appreciated. 任何帮助将不胜感激。

May be something like this 可能是这样的

SET @xml = '
<outerNode>
   <innerNode>
      <element1>Workflow1</element1>
      <element2>619</element2>
      <element3>aioperator1</element3>
      <element4>0</element4>
      <element5>623</element5>
   </innerNode>
   <innerNode>
      <element1>Workflow2</element1>
      <element2>620</element2>
      <element3>amloperator1</element3>
      <element4>1</element4>
     <element5>624</element5>
   </innerNode>
</outerNode>';

SELECT ExtractValue(@xml, 'outerNode/innerNode/element3') value;

FIDDLE DEMO 现场演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM