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

Откуда:
Сообщений: 1170
Помогите пожалуйста превратить сей чудный XML в таблицу вида [ID],[Key],[Summary],[Description]

<root>
  <expand>schema,names</expand>
  <startAt>0</startAt>
  <maxResults>2</maxResults>
  <total>3098</total>
  <issues>
    <expand>editmeta,renderedFields,transitions,changelog,operations</expand>
    <id>819364</id>
    <key>TC-5949</key>
    <fields>
      <summary>test summary 1</summary>
      <description>test description 1
</description>
    </fields>
  </issues>
  <issues>
    <expand>editmeta,renderedFields,transitions,changelog,operations</expand>
    <id>829974</id>
    <key>TC-6022</key>
    <fields>
      <summary>test summary 2</summary>
      <description> test description 2
	  </description>
    </fields>
  </issues>
</root>


Пока никак не получается...

К сообщению приложен файл. Размер - 7Kb
21 апр 17, 11:28    [20421534]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с парсингом XML  [new]
Santa89
Member

Откуда:
Сообщений: 1170
SELECT 
[Value].query('root/issues/id') as ID,
[Value].query('root/issues/fields/summary') as FirstName,
[Value].query('root/issues/fields/description') as LastName
FROM MyTable


Как убрать лишние символы и получить из этого текстовую строку?
21 апр 17, 11:33    [20421561]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с парсингом XML  [new]
invm
Member

Откуда: Москва
Сообщений: 7396
select
 a.n.value('id[1]', 'int'),
 a.n.value('key[1]', 'varchar(30)'),
 a.n.value('(fields/summary)[1]', 'varchar(30)'),
 a.n.value('(fields/description)[1]', 'varchar(30)')
from
 MyTable t cross apply
 t.Value.nodes('/root/issues') a(n);
21 апр 17, 12:14    [20421740]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с парсингом XML  [new]
Santa89
Member

Откуда:
Сообщений: 1170
Моя табличка XML_TEST содержит поле Value в котором уже записан XML.
Вот я делаю то что на скриншоте и получаю такой ответ. Как теперь это превратить в строки и столбцы с нормальными типами?

К сообщению приложен файл. Размер - 10Kb
21 апр 17, 12:20    [20421775]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с парсингом XML  [new]
Santa89
Member

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

одновременно запостили)
Спасибо, то что нужно!
21 апр 17, 12:22    [20421780]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить