Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Генерация XML из таблици  [new]
Dimmf28
Member

Откуда:
Сообщений: 357
Есть такая вот задачка генерировать xml из (любой)таблици что есть в БД. Но генерировать не просто так а чтоб минимизировать записи созданные в XML, поидеи я так предпологаю что прийдеться как то генерировать XML в виде дерево но изначально проаналзмровать как выгодно размещать ветки для отбора.
Пока вот нашел такой код с помощью которого можно просто генерировать XML без анализа

CREATE TABLE tmpEmployee(ID INT,NAME VARCHAR(100))
GO

INSERT INTO tmpEmployee
SELECT 1,'Devi'
union
SELECT 2,'Prasad'
GO

SELECT * FROM tmpEmployee
GO
Below code converts data and schema of table tmpEmployee into XML, Then it uses the XML to convert it back into the table:

/*Below code converts Table SCHEMA & Data to XML*/

DECLARE @TableData XML,@TableSchema XML

SELECT @TableSchema = (
    select  column_name,
            data_type,
            case(is_nullable)
                when 'YES' then 'true'
                else 'false'    
            end as is_nullable,
			CHARACTER_MAXIMUM_LENGTH as Charlen
    from information_schema.columns [column]
    where table_name = 'tmpEmployee' 
    for xml auto,root('Table') 
	)

SELECT @TableData = (
SELECT * 
FROM tmpEmployee Row
FOR XML AUTO, BINARY BASE64,root('TableData') 
)

SELECT @TableSchema,@TableData


можете мне подсказать какой алгоритм можно было б использовать для того чтоб понять как составить дерево в XML?
25 мар 16, 12:42    [18977400]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Два раза прочитал. Так и не понял сути проблемы. Какой XML вы хотите получить на выходе?
25 мар 16, 12:47    [18977427]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
Dimmf28
Member

Откуда:
Сообщений: 357
AlanDenton,

AlanDenton,

попытаюсь обьяснить
пусть есть вот такая табличка
N Cityid Bisness
1 1 1
2 1 1
3 2 2
4 2 2
5 3 2

при этом если использовать скрипт что я привел сверху , выйдет вот такая вот XML как на фото,

А вот что я иммею под оптимизацией чтоб было меньше строк
то надо было б сделать так как ниже на скрине 2 тоесть уменьше написание определенных записей, но это должен выполнить какойто алгоритм иавтоматически

К сообщению приложен файл. Размер - 47Kb
25 мар 16, 13:13    [18977565]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
Dimmf28
Member

Откуда:
Сообщений: 357
AlanDenton,

К сообщению приложен файл. Размер - 39Kb
25 мар 16, 13:14    [18977570]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Dimmf28,

Предлагаю от-RTFM-мить MSDN начинаю отсюда

https://msdn.microsoft.com/en-us/library/ms189068.aspx
25 мар 16, 13:14    [18977576]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
Dimmf28
Member

Откуда:
Сообщений: 357
a_voronin,
ну как бы да но как понять в каком порядке и почем генерировать дерево, изначально ты не знаешь что за поля лежат в табличке их надо както проанализировать на поторение а потом уже записывать в xml
25 мар 16, 13:17    [18977593]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Dimmf28
a_voronin,
ну как бы да но как понять в каком порядке и почем генерировать дерево, изначально ты не знаешь что за поля лежат в табличке их надо както проанализировать на поторение а потом уже записывать в xml


Повторю ещё раз:

Предлагаю от-RTFM-мить MSDN начинаю отсюда

https://msdn.microsoft.com/en-us/library/ms189068.aspx

И сразу станет понятно, что и в каком порядке генерировать
25 мар 16, 13:18    [18977600]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
Dimmf28
Member

Откуда:
Сообщений: 357
a_voronin,

можете мне на примере таблицы више написать пример кода , туплю
25 мар 16, 13:53    [18977749]     Ответить | Цитировать Сообщить модератору
 Re: Генерация XML из таблици  [new]
Glory
Member

Откуда:
Сообщений: 104751
Dimmf28
можете мне на примере таблицы више написать пример кода , туплю

на линк первого примера из сслыки https://msdn.microsoft.com/en-us/library/bb522438.aspx нажать тоже тупление мешает ?
25 мар 16, 15:03    [18978253]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить