0

我想问一下是否有一种简单的方法可以使用 T-SQL 遍历我的 XML 数据。

我的 xml 看起来像:

<node_1>
  <set attribute4="text">
    <CONDS>
      <COND variable="a" value="text1" attribute3="text1"> //if a == text1 
        <COND variable="b" value="text1" attribute3="text1"> //(and)b == text 1(and)
          <COND variable="c" value="text1" attribute3="text1"/> //(and)c == text1 
          <COND variable="c" value="text1" attribute3="text1"/> //(or)c == text2
        </COND>
      </COND>
      <COND variable="a" value="text1" attribute3="text1"> //or a == text1
    </CONDS>
  </set>
</node_1>

我基本上需要遍历所有<COND>节点。这些节点实际上稍后用作 SQL 查询条件(WHERE子句)并评估输入集。一个<COND>元素及其子元素代表一个AND条件,<COND>处于同一级别的元素是一个 OR 条件。

我的目标是知道如何遍历这些节点。

我想我可以使用一堆代码来实现这一点,例如openxml(将整个 xml 转换为表)、cte(获取表和后代)和数据透视(将这些字段的表行设置为列),然后用于评估我的投入。但这将需要大量的循环和指标和/或条件,这使得它变得混乱且难以维护。

注意:node_1 是一个子元素,也可以重复

4

0 回答 0