2014-09-30 1 views
0

У меня есть XML, как указано ниже, хранящийся в таблице.Получить xml ниже уровня корня через XQuery

`<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. Спасибо заранее.

Редактировать: удалить дополнительные enter code here скрывается в xml.

ответ

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; 
+0

Большое спасибо lot.I пропускал подстановочные. –