none
sql server 2010 xml nodes RRS feed

  • Общие обсуждения

  • Есть некий xml файл.  Из которого нужно получить все данные ЭЛЕМЕНТ

    .....

    <категория номер ="1"  имя = "один" ....>

        <элемент номер="10" имя = "десять" />

        <элемент номер="N" имя = "...."> ....

    </категория>

    ......

    <категория номер ="N"  имя = "..." ....>

        <элемент номер="N" имя = "....">

    </категория>

    .....

    для его обработки, создаю процедуру. Создаю временную таблицу и заполняю её данными о категориях. методом CURSOR пробегаюсь по данной табличке, получая поочередно каждый номер категории. Эту переменную с данным о номере категории, вставляю в в следующий инсерт, который вставляет во вторую временную таблицу, где  у меня будут находиться все значения ЭЛЕМЕНТ и номер Категории

    в Цикле будет следующий инсерт

     

     

    ругаеться на ('+ @Категория_Номер +') . Если вставить вместо ('+ @Категория_Номер +') наисать саму цифру,то все идет : from @XML.nodes('//категория[@номер="1"]//элемент')

    @Категория_Номер nvarchar(30)

    insert @ЭлементТаблица
    select 
    ref.value ('@номер', '[nvarchar](30)'),
    ref.value ('@имя', '[nvarchar](30)'),
    .........
    from @XML.nodes('//категория[@номер="'+ @Категория_Номер +'"]//элемент')
    as node(ref)
    • Изменен тип I.Vorontsov 18 июня 2010 г. 6:17
    • Перемещено SachinW 1 октября 2010 г. 22:06 MSDN Forums Consolidation (От:Начинающие разработчики)
    11 июня 2010 г. 12:34

Все ответы

  • Уважаемый пользователь!

     

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.


    Для связи [Mail]
    16 июня 2010 г. 9:18