|
|
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Подскажите, плиз, наиболее эффективный способ избавления от сабжевого эффекта при выполнении запроса. В табличке есть поля типа xml. Надо выполнить запрос, результат вернуть в датасет на клиенте, обработать его (результат) и сохранить датасет в виде XML. Затык произошел с тем, что поля у которых тип xml возвращаются на клиент с < > вместо угловых скобок. Как победить не знаю. Буду признателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 18:19 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Тут тем много, ищи. вот эта вполне рассмотрела почти все возможные варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 09:28 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
я эту тему видел, конечно. Надо сказать она мало общего имеет с тем о чем я спрашиваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 08:55 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Покаж код xsl как отправляешь свои данные со скобками. И кусок xml из которого эти данные берешь. Поправим :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 09:13 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Просто подправить скобки я б наверное и сам смог... Вопрос несколько в другом: можно ли SQL сервер заставить возвращать данные типа XML по человечьи... Т.е. если я использую для возврата SELECT FOR XML то все тип топ. Но тут задача несколько другая. Надо заполнить на _клиенте_ некий датасет. Который получает с сервера в том числе и данные типа XML. Вот тут засада и наступает. Когда я говорю датасет.GetXml() то в данных типа XML лажа... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 14:26 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Может тебе на форум посвещенный sql и серверной обработке данных сходить, там это поспрашивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 14:36 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 14:37 |
|
||
|
Ескейпинг при получения поля типа xml из БД
|
|||
|---|---|---|---|
|
#18+
Hose... Поле Defect в БД имеет тип XML. Это не важно, что тип поля в БД - XML, если не используется "специальный" провайдер для XML (т.е. "свзяка" FOR XML на сервере и метод ExecuteXmlReader() на клиенте) - то все содержимое поля с типом XML преобразуется в "просто длинный текст" для клиента (в твоем случае - для DataSet-а). К тому же, у DataSet-а XML (как технология) имеет "специальное внутреннее" предназначение - хранит структуру данных и значения состояний записей (т.н. diffgram), поэтому любое поле с типом данных XML внутри DataSet-а просто "обречено" быть "эскейпированным", потому что тогда сам DataSet не сможет работать нормально. Так что, придется тебе использовать FOR XML + ExecuteXmlReader() - иначе никак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2007, 11:05 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=34551442&tid=1334289]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 144ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...