![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OPENXML не понимает xml с атрибутом xmlns="..." [MSSQL]
alex_*** © (2005-11-29 14:55:00)
<resp_root xmlns=" http://SP_GetGroups_auto">
<groups id="1" group_name=""group_1"" />
<groups id="2" group_name=""group_2" ?" />
<groups id="3" group_name="<group_3>" />
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc
не возвращает ничего. Стоит убрать xmlns=... - работает
Никто не сталкивался с таким?
alex_*** (2005-11-29 16:31:00) [1]это namespace. Просто слова
Nikolay M. (2005-11-29 16:24:00) [2]
> Записей не возвращает.
А http://SP_GetGroups_autoчто делает?
alex_*** (2005-11-29 16:11:00) [3]валидность он проходит. Записей не возвращает. Там же и ответил.
Nikolay M. (2005-11-29 16:04:00) [4]Имхо, на скл.ру тебе ответили насчет валидности.
Или, может, я что-то не догоняю? :(
alex_*** (2005-11-29 15:44:00) [5]блин. Сайт хавает текст xml и преобразует его к нормальному виду :) кавычки, вопросы и '>' надо заменить по правилам xml :). Ну не в этом дело.
alex_*** (2005-11-29 15:43:00) [6]Насчет ошибки это я извиняюсь. Надо было типа такго выложить :
<groups id="1" group_name=""group_1"" />
<groups id="2" group_name=""group_2" ?" />
<groups id="3" group_name="<group_3>" />
пустой и у меня возвращает. Надо чтоб данные возвращал.
Nikolay M. (2005-11-29 15:38:00) [7]Вообще говоря, у меня и с xmlns не работает:
DECLARE @xml NVARCHAR(4000)
DECLARE @idoc INT
SELECT @xml = '<resp_root>
<groups id="1" group_name=""group_1"" />
<groups id="2" group_name=""group_2" ?" />
<groups id="3" group_name="<group_3>" />
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc
Server: Msg 6603, Level 16, State 1, Procedure sp_xml_preparedocument, Line 11
XML parsing error: Required white space was missing.
А вот с покоцанными кавычками - все ок, возвращается пустой НД, т.к. http://SP_GetGroups_autoу меня, конечно, нет
DECLARE @xml NVARCHAR(4000)
DECLARE @idoc INT
SELECT @xml = '<resp_root xmlns=" http://SP_GetGroups_auto">
<groups id="1" group_name="group_1"/>
<groups id="2" group_name="group_2"/>
<groups id="3" group_name="group_3"/>
</resp_root>'
EXEC SP_XML_PREPAREDOCUMENT @idoc OUT, @xml
print CAST(@idoc as varchar(10))
SELECT * FROM OPENXML(@idoc,'/resp_root/groups',1) WITH ([id] INT, group_name VARCHAR(50))
EXEC SP_XML_REMOVEDOCUMENT @idoc