sql-server-2005
  • xquery
  • 2009-03-16 3 views 0 likes 
    0

    Я могу получить первую запись из кода, приведенного ниже в SQL Server 2005. Как мне их получить? Если удалить "[1] индекс я получаю некоторую ошибку одноэлементный ...Получение наборов строк из XQuery и SQL Server 2005

    declare @xml xml 
    set @xml = 
    '<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11"> 
    <my:field>test1</my:field> 
    <my:field>test2</my:field> 
    <my:field>test3</my:field> 
    <my:field>test4</my:field> 
    </my:myFields>' 
    SELECT @xml.value('declare namespace  my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11";   
    (/my:myFields/my:field)[1]', 'varchar(100)') as test 
    
    +0

    I'v попробовал метод запроса(), но получить одну строку со всеми значениями сцепленных -: объявить @ XML XML набор @xml = ' test1 test2 test3 test4 ' SELECT @ xml.query ('/myFields/field/text() ') в качестве теста – Graeme

    ответ

    0
    declare @xml xml 
    set @xml = 
    '<my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11"> 
    <my:field>test1</my:field> 
    <my:field>test2</my:field> 
    <my:field>test3</my:field> 
    <my:field>test4</my:field> 
    </my:myFields>' 
    
    SELECT Y.ID.value('.', 'varchar(100)') as test 
    FROM @xml.nodes('declare namespace my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-16T20:13:11"; 
           (/my:myFields/my:field)') as Y(ID) 
    
    Смежные вопросы