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

Откуда: Бобруйск
Сообщений: 334
подскажите, пожалуйста, что я делаю не так?

имею файл
<?xml version="1.0" encoding="windows-1251" ?>
<Payments dateRep="2014-02-17" CountPayment="1">
          <ItogSum>
                   <ItogSum countPayment="1" val="RUB" sumVal="70000.00"/>
          </ItogSum>
          <Payment>
          <Payment idBank="328765"
                  addressPunkt="Москва, ул. Большая, д № 2"
                  codeOper="410524886539"
                  dateTran="2014-02-17"
                  timeTran="10:11:54"/>
         </Payment>
</Payments>


пытаюсь его читать
declare @XML xml
declare @XML_Load nvarchar(300)
declare @FileNameString varchar(255) = 'd:\111.xml'

set @XML_Load = N'select @XML = (SELECT DXML.* FROM OPENROWSET(BULK N'''+@FileNameString+''', SINGLE_BLOB) AS DXML)'
exec sp_executesql @XML_Load, N'@xml xml output', @XML = @XML output

 select 
      t.rows.value('addressPunkt[0]','varchar(50)')      as idBank,
      t.rows.value('dateTran[0]','datetime')         as dateRep,
      t.rows.value('idBank[0]','int')       as CountPayment
	  
    from @XML.nodes('/Payments/Payment') as t(rows)


но получаю пустой набор.
что не так?
спасибо
9 июл 14, 13:09    [16280616]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
fwerfwer
Guest
declare
	@x xml =
'
<Payments dateRep="2014-02-17" CountPayment="1">
          <Payment idBank="328765"
                  addressPunkt="Москва, ул. Большая, д № 2"
                  codeOper="410524886539"
                  dateTran="2014-02-17"
                  timeTran="10:11:54">
         </Payment>
</Payments>
';

select
	@x.value('(/Payments/Payment/@idBank)[1]', 'nvarchar(max)'),
	@x.value('(/Payments/Payment/@addressPunkt)[1]', 'nvarchar(max)'),
	@x.value('(/Payments/Payment/@codeOper)[1]', 'nvarchar(max)'),
	@x.value('(/Payments/Payment/@dateTran)[1]', 'nvarchar(max)');

select
	@x.value('(//@idBank)[1]', 'nvarchar(max)'),
	@x.value('(//@addressPunkt)[1]', 'nvarchar(max)'),
	@x.value('(//@codeOper)[1]', 'nvarchar(max)'),
	@x.value('(//@dateTran)[1]', 'nvarchar(max)');


у вас и в xquery и в xml ошибки. проверьте
9 июл 14, 13:27    [16280748]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
Двоичник
Member

Откуда: Бобруйск
Сообщений: 334
будьте добры пальцем, ничего не понял
какие где ошибки?
спс
9 июл 14, 13:29    [16280784]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4539
<Payment>
<Payment idBank="328765"
addressPunkt="Москва, ул. Большая, д № 2"
codeOper="410524886539"
dateTran="2014-02-17"
timeTran="10:11:54"/>
</Payment>

Так и задумано?
9 июл 14, 13:42    [16280896]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
Двоичник
Member

Откуда: Бобруйск
Сообщений: 334
к сожалению да, но не мною. пользуюсь тем что мне передают. нужно читать это

а если в файле больше чем одна строчка?
как прочитать все?
9 июл 14, 13:47    [16280936]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
declare @x xml = N'<Payments dateRep="2014-02-17" CountPayment="1">
          <ItogSum>
                   <ItogSum countPayment="1" val="RUB" sumVal="70000.00"/>
          </ItogSum>
          <Payment>
          <Payment idBank="328765"
                  addressPunkt="Москва, ул. Большая, д № 2"
                  codeOper="410524886539"
                  dateTran="2014-02-17"
                  timeTran="10:11:54"/>
         </Payment>
</Payments>'

select
 x.n.value('@addressPunkt', 'varchar(100)'),
 x.n.value('@codeOper', 'varchar(100)'),
 x.n.value('@dateTran', 'varchar(100)'),
 x.n.value('@timeTran', 'varchar(100)')
from
 @x.nodes('/Payments/Payment/Payment') x(n);
9 июл 14, 14:00    [16281023]     Ответить | Цитировать Сообщить модератору
 Re: XML не читается, помогите, пожалуйста  [new]
Двоичник
Member

Откуда: Бобруйск
Сообщений: 334
спасибо, работает шайтан машино!

закрыто
9 июл 14, 14:27    [16281200]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить