【问题标题】:Get the xml below root level through XQuery通过 XQuery 获取根级别以下的 xml
【发布时间】:2014-09-30 10:59:56
【问题描述】:

我有一个如下的 XML 存储在一个表中。

  `<Customer>
     <Name>
     <FName>Mark</FName>
     <MName>A</MName>
     <LName>Antomy</LName>
    </Name>
   <Address>
    <Street>Clare</Street>
   <City>Clarkson</City>
  </Address>
 </Customer> `

我想选择除根节点以外的所有内容。

 `<Name>
    <FName>Mark</FName>
    <MName>A</MName>
    <LName>Antomy</LName>
 </Name>
<Address>
  <Street>Clare</Street>
  <City>Clarkson</City>
</Address>`

根目录下有两个并行级别。我无法在一个查询中同时获得它们。 是否可以通过XQuery 来实现。 提前致谢。

编辑:删除了潜伏在 xml 中的额外 enter code here

【问题讨论】:

    标签: sql-server-2008 xquery-sql


    【解决方案1】:

    您可以将.query() 与通配符一起使用:

    DECLARE @T TABLE (X XML);
    INSERT @T (X) VALUES ('<Customer>
         <Name>
         <FName>Mark</FName>`enter code here`
         <MName>A</MName>
         <LName>Antomy</LName>
        </Name>
       <Address>
        <Street>Clare</Street>
       <City>Clarkson</City>
      </Address>
     </Customer>');
    
     SELECT X.query('/Customer/*')
     FROM   @T;
    

    【讨论】:

    • 非常感谢。我错过了通配符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    相关资源
    最近更新 更多