powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ескейпинг при получения поля типа xml из БД
8 сообщений из 8, страница 1 из 1
Ескейпинг при получения поля типа xml из БД
    #34543481
Hose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, плиз, наиболее эффективный способ избавления от сабжевого эффекта при выполнении запроса. В табличке есть поля типа xml. Надо выполнить запрос, результат вернуть в датасет на клиенте, обработать его (результат) и сохранить датасет в виде XML. Затык произошел с тем, что поля у которых тип xml возвращаются на клиент с < > вместо угловых скобок. Как победить не знаю.

Буду признателен за помощь.
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34544399
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут тем много, ищи.
вот эта вполне рассмотрела почти все возможные варианты
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34550194
Hose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я эту тему видел, конечно. Надо сказать она мало общего имеет с тем о чем я спрашиваю.
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34550223
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покаж код xsl как отправляешь свои данные со скобками. И кусок xml из которого эти данные берешь.
Поправим :)
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34551386
Hose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто подправить скобки я б наверное и сам смог...
Вопрос несколько в другом: можно ли SQL сервер заставить возвращать данные типа XML по человечьи...

Т.е. если я использую для возврата SELECT FOR XML то все тип топ. Но тут задача несколько другая. Надо заполнить на _клиенте_ некий датасет. Который получает с сервера в том числе и данные типа XML. Вот тут засада и наступает.
Когда я говорю датасет.GetXml() то в данных типа XML лажа... :(
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34551434
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может тебе на форум посвещенный sql и серверной обработке данных сходить, там это поспрашивать?
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34551442
Hose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HoseПросто подправить скобки я б наверное и сам смог...
Когда я говорю датасет.GetXml() то в данных типа XML лажа... :(
датасет.GetXml() возвращает что-то типа этого:
...
<Pos>1</Pos>
<ResDt>2007-03-13T14:43:51.083+03:00</ResDt>
<Defect>& lt;DEFECT& gt;& lt;LETTER& gt;01И-180/07& lt;/LETTER& gt;& lt;LETDT& gt;19.03.07& lt;/LETDT& gt;& lt;TYPER& gt;Брак производителя& lt;/TYPER& gt;& lt;QPERF& gt;Описание (жидкость с мелкокристаллической взвесью)& lt;/QPERF& gt;& lt;DocExtra_GUID& gt;E740A54F-62D2-4857-8FA5-48303E60DC76& lt;/DocExtra_GUID& gt;& lt;/DEFECT& gt;</Defect>
<LetterNx>2770</LetterNx>
...
без пробелов конечно...
Поле Defect в БД имеет тип XML.
...
Рейтинг: 0 / 0
Ескейпинг при получения поля типа xml из БД
    #34554665
dejavew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hose... Поле Defect в БД имеет тип XML.
Это не важно, что тип поля в БД - XML, если не используется "специальный" провайдер для XML (т.е. "свзяка" FOR XML на сервере и метод ExecuteXmlReader() на клиенте) - то все содержимое поля с типом XML преобразуется в "просто длинный текст" для клиента (в твоем случае - для DataSet-а). К тому же, у DataSet-а XML (как технология) имеет "специальное внутреннее" предназначение - хранит структуру данных и значения состояний записей (т.н. diffgram), поэтому любое поле с типом данных XML внутри DataSet-а просто "обречено" быть "эскейпированным", потому что тогда сам DataSet не сможет работать нормально.
Так что, придется тебе использовать FOR XML + ExecuteXmlReader() - иначе никак...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Ескейпинг при получения поля типа xml из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]