Начало » Использование СУБД » Microsoft SQL Server » Cтранный формат xml 
	
		
		
			| Cтранный формат xml [сообщение #2800] | 
			Wed, 19 July 2023 23:01   | 
		 
		
			
				
				
				
					
						  
						prospector
						 Сообщений: 5 Зарегистрирован: July 2023 
						
					 | 
					Junior Member  | 
					 | 
		 
		 
	 | 
 
	
		После выгрузки с помощью bcp xml получается странного формата. 
 
Код выгрузки: 
declare
	@strSQL				nvarchar(1024)
	,@cmd				varchar(1024)
select @strSQL = ''
	+ 'select ''<?xml version=""1.0"" encoding=""utf-8""?>'' + ( '
	+ 'select CURRENT_TIMESTAMP [@date], ( '
	+ 'select ( '
		+ 'select * '
		+ 'from ( '
			+ 'select 	ENT_ART, REST_QTY '
			+ 'from ' + @DBName + '..ADV_CRM_EXPORT_ENTITIES '
		+ ') AS v(articul, quantity) '
		+ 'for xml path(''item''), TYPE '
	+ ') '
	+ 'for xml path(''items''), TYPE '
	+ ') '
	+ 'for xml path(''shop'') '
	+ ') '
select @cmd = 'bcp "'
	+ @strSQL
	+ '" '
    + 'queryout "' + @OutputFileName + '" -w -C1251 -r -T -x';
exec xp_cmdshell @cmd 
Получаем xml: 
  
 
Значениями NUL размер файла доводится до размера 65КB. 
С одной стороны валидаторы говорят, что файл валидный. 
Но с другой стороны в браузере такой файл не отображается. Плюс наличие мусора и завышение размера тоже не нравится. 
Если из переменной @strSQL убрать строку 'select ''<?xml version=""1.0"" encoding=""utf-8""?>'' + ( ' и завершающую скобку, то файл получается нормальный. 
Подскажите пожалуйста как убрать завершающие NUL.
		
		
		[Обновления: Wed, 19 July 2023 23:11] Известить модератора  
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 10:03:33 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00636 секунд 
 |