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

Откуда:
Сообщений: 24
Добрый день! есть xml вот такой структуры:
1<?xml version="1.0" encoding="utf-8"?>
2<table_data name="Client">
3	<row>
4		<field name="id">1</field>
5		<field name="createDatetime">2009-12-16 15:16:07</field>
6		[color=red]<field name="createPerson_id" xsi:nil="true" />[/color]
7		<field name="modifyDatetime">2013-01-15 16:12:14</field>
8		<field name="modifyPerson_id">356</field>
9		<field name="deleted">0</field>
		<field name="lastName">Иванов</field>
		<field name="firstName">Иван</field>
		<field name="patrName">Иванович</field>
		<field name="birthDate">1967-12-20</field>
		<field name="birthTime">00:00:00</field>
		<field name="sex">0</field>
		<field name="SNILS">111111111111</field>
		[color=red]<field name="bloodType_id" xsi:nil="true" />
		<field name="bloodDate" xsi:nil="true" />[/color]
		<field name="bloodNotes"></field>
		<field name="growth">0</field>
		<field name="weight">0</field>
		<field name="embryonalPeriodWeek">0</field>
		<field name="birthPlace"></field>
		<field name="notes"></field>
	</row>
</table_data>


Не могу считать данные из полей, где есть строка xsi:nil="true".

Использую алгоритм.

set @xml = (select b from openrowset(bulk 'F:\выгрузки\client_small.xml',single_blob) as b(b))

после этой команды появляется ошибка SQL : Сообщение 9459, уровень 16, состояние 1, строка 5
Синтаксический анализ XML: строка 6, символ 49, необъявленный префикс.

Что это за ошибка такая? SQL не распознает конструкцию? или кодировка хромает?
11 фев 14, 18:11    [15553059]     Ответить | Цитировать Сообщить модератору
 Re: чтение xsi:nil в xml  [new]
LexusR
Member

Откуда: Novosibirsk
Сообщений: 1887
попробуйте добавьте namespace для xsi
<?xml version="1.0" encoding="utf-8" ?> 
 <table_data name="Client" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <row>
  <field name="id">1</field> 
  <field name="createDatetime">2009-12-16 15:16:07</field> 
  <field name="createPerson_id" xsi:nil="true" /> 
  <field name="modifyDatetime">2013-01-15 16:12:14</field> 
  <field name="modifyPerson_id">356</field> 
  <field name="deleted">0</field> 
  <field name="lastName">Иванов</field> 
  <field name="firstName">Иван</field> 
  <field name="patrName">Иванович</field> 
  <field name="birthDate">1967-12-20</field> 
  <field name="birthTime">00:00:00</field> 
  <field name="sex">0</field> 
  <field name="SNILS">111111111111</field> 
  <field name="bloodType_id" xsi:nil="true" /> 
  <field name="bloodDate" xsi:nil="true" /> 
  <field name="bloodNotes" /> 
  <field name="growth">0</field> 
  <field name="weight">0</field> 
  <field name="embryonalPeriodWeek">0</field> 
  <field name="birthPlace" /> 
  <field name="notes" /> 
  </row>
  </table_data>
12 фев 14, 06:54    [15554692]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить