如何在xml数据中选择所有父节点

时间:2014-06-03 10:19:02

标签: sql sql-server xml for-xml-path

我想在所有父节点中选择而我不知道有多少节点存在?

    *<TreeView>
          <node  text="a">
            <node text="aa">
              <node text="aaa" />
            </node>
            <node text="b">
              <node text="bb" />
                    </node>
                  </node>
                  <node text="c" />*


        </TreeView> 

    what i want is: a,aa,b

1 个答案:

答案 0 :(得分:0)

DECLARE @MyXML XML
SET @MyXML =  '<TreeView>
          <node  text="a">
            <node text="aa">
              <node text="aaa" />
            </node>
            <node text="b">
              <node text="bb" />
                    </node>
                  </node>
                  <node text="c" />*


        </TreeView> '



       SELECT  @MyXML.value ('(//node/@text)[1]', 'VARCHAR(30)'),
       @MyXML.value ('(//node/@text)[2]', 'VARCHAR(30)'),
       @MyXML.value ('(//node/@text)[4]', 'VARCHAR(30)')