XML на сервере Sql


0

Не делай этого!

Достаточно структуры:

<Fruits>
    <Fruit>Apple</Fruit>
    <Fruit>GrapesFruit>
    <Fruit>Pineapple</Fruit>
</Fruits>

Это будет легко генерироваться из табличных данных FOR XML PATH('Fruit'),ROOT('Fruits').

Порядок элемента является неотъемлемой частью документа и не изменится. Нет необходимости указывать свои элементы. Позже, когда вы прочтете это, вам придется написать либо один вызов для каждого элемента, либо вам придется иметь дело с такими звонками //*[predicate], которые медленны и просты.

Структура, которую вы можете задать с помощью

SELECT TheXml.value('(/Fruits/Fruit)[1]') AS Fruit1
      ,TheXml.value('(/Fruits/Fruit)[2]') AS Fruit2
      ...and so on...

Очень плохо иметь нумерованные элементы. Если вам действительно нужны эти цифры, вы можете подумать о

<Fruits>
    <Fruit nr="1">Apple</Fruit>
    <Fruit nr="2">GrapesFruit>
    <Fruit nr="3">Pineapple</Fruit>
</Fruits>

То же самое с этим

<ColorsandFruitsNumber2>

Не делай этого снова! У ваших данных будет какой-то ключ группировки. Используйте этот групповой ключ, чтобы отметить группу с атрибутом.

<ColorsandFruitsNumber groupkey="2">

Вы найдете множество примеров того, как создавать вложенные XML-файлы FOR XML PATH. Я бы избегал AUTO, так как вам нужно полагаться на движок для создания структуры для вас ...

Если это вам не поможет, укажите данные образца (формат таблицы или - еще лучше - как мало скрипта с DECLARE TABLEи INSERT INTO) и ожидаемый результат.

SQL, SQL-сервер, XML,

sql,sql-server,xml,

0

Ответов: 1


0

Не делай этого!

Достаточно структуры:

<Fruits>
    <Fruit>Apple</Fruit>
    <Fruit>GrapesFruit>
    <Fruit>Pineapple</Fruit>
</Fruits>

Это будет легко генерироваться из табличных данных FOR XML PATH('Fruit'),ROOT('Fruits').

Порядок элемента является неотъемлемой частью документа и не изменится. Нет необходимости указывать свои элементы. Позже, когда вы прочтете это, вам придется написать либо один вызов для каждого элемента, либо вам придется иметь дело с такими звонками //*[predicate], которые медленны и просты.

Структура, которую вы можете задать с помощью

SELECT TheXml.value('(/Fruits/Fruit)[1]') AS Fruit1
      ,TheXml.value('(/Fruits/Fruit)[2]') AS Fruit2
      ...and so on...

Очень плохо иметь нумерованные элементы. Если вам действительно нужны эти цифры, вы можете подумать о

<Fruits>
    <Fruit nr="1">Apple</Fruit>
    <Fruit nr="2">GrapesFruit>
    <Fruit nr="3">Pineapple</Fruit>
</Fruits>

То же самое с этим

<ColorsandFruitsNumber2>

Не делай этого снова! У ваших данных будет какой-то ключ группировки. Используйте этот групповой ключ, чтобы отметить группу с атрибутом.

<ColorsandFruitsNumber groupkey="2">

Вы найдете множество примеров того, как создавать вложенные XML-файлы FOR XML PATH. Я бы избегал AUTO, так как вам нужно полагаться на движок для создания структуры для вас ...

Если это вам не поможет, укажите данные образца (формат таблицы или - еще лучше - как мало скрипта с DECLARE TABLEи INSERT INTO) и ожидаемый результат.

SQL, SQL-сервер, XML,
Похожие вопросы