Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Символы "<" и ">" в IXMLDocument   Найти похожие ветки 

 
Murad ©   (2004-04-23 18:05) [0]

Всем добрый день... проблема такая... Сохраняю текст в узел XML файла используя IXMLDocument... текст содержит символы "<"
и ">" при сохранении IXMLDocument заменяет их на < и > .  Как этого избежать ?


 
Murad ©   (2004-04-23 18:05) [0]

Всем добрый день... проблема такая... Сохраняю текст в узел XML файла используя IXMLDocument... текст содержит символы "<"
и ">" при сохранении IXMLDocument заменяет их на < и > .  Как этого избежать ?


 
Murad ©   (2004-04-23 18:06) [1]

...заменяет их на lt b rt


 
Murad ©   (2004-04-23 18:06) [1]

...заменяет их на lt b rt


 
Murad ©   (2004-04-23 18:07) [2]

пардон
...заменяет их на lt b gt c амперсандами


 
Murad ©   (2004-04-23 18:07) [2]

пардон
...заменяет их на lt b gt c амперсандами


 
Тимохов ©   (2004-04-23 18:12) [3]


> Как этого избежать ?

Вроде никак.
Т.е. может и можно (често не знаю).
Но наличие указанных сиволов в тексте противоречит сепецификации XML. Вернее противоречит <, а > заменяется на > за компанию. Также недопустимым является сочетание "]]>".

Вопрос, а чем вам это мешает?
Ведь при следующем чтении все обратно поменятеся на < и >?


 
Тимохов ©   (2004-04-23 18:12) [3]


> Как этого избежать ?

Вроде никак.
Т.е. может и можно (често не знаю).
Но наличие указанных сиволов в тексте противоречит сепецификации XML. Вернее противоречит <, а > заменяется на > за компанию. Также недопустимым является сочетание "]]>".

Вопрос, а чем вам это мешает?
Ведь при следующем чтении все обратно поменятеся на < и >?


 
Тимохов ©   (2004-04-23 18:18) [4]

Вы же если пишите html экранируете < на <
В xml та же ситуация.


 
Тимохов ©   (2004-04-23 18:18) [4]

Вы же если пишите html экранируете < на <
В xml та же ситуация.


 
Murad ©   (2004-04-23 18:20) [5]

2 Тимохов
 У меня в этом узле должен лежать HTML


 
Murad ©   (2004-04-23 18:20) [5]

2 Тимохов
 У меня в этом узле должен лежать HTML


 
Тимохов ©   (2004-04-23 18:25) [6]

все-таки не понимаю что-вам не нравится.

1. есть спецификация xml. эта спецификация запрещает иметь неэкранированный символ <.
2. т.е. в файле хранится <, а в памяти парсера этот символ заменяется на <.
3. для того, чтобы хранить любые символы в xml предусмотрено следующие "<![CDATA[". В этой секции можно хранить все что угодно, хоть <. Нельзя только иметь сочетание
"]]>".
4. Допустим вы как-то добъектесь того, чтобы вне секции <![CDATA[ хранился неэкранированный <. Как вы себе представляете парсер должен понимать, что это не начало тэга, а просто символ. Поэтому и введена спецификация xml.


 
Тимохов ©   (2004-04-23 18:25) [6]

все-таки не понимаю что-вам не нравится.

1. есть спецификация xml. эта спецификация запрещает иметь неэкранированный символ <.
2. т.е. в файле хранится <, а в памяти парсера этот символ заменяется на <.
3. для того, чтобы хранить любые символы в xml предусмотрено следующие "<![CDATA[". В этой секции можно хранить все что угодно, хоть <. Нельзя только иметь сочетание
"]]>".
4. Допустим вы как-то добъектесь того, чтобы вне секции <![CDATA[ хранился неэкранированный <. Как вы себе представляете парсер должен понимать, что это не начало тэга, а просто символ. Поэтому и введена спецификация xml.


 
Тимохов ©   (2004-04-23 18:26) [7]

Поправка

> 2. т.е. в файле хранится апперсенд+lt;,


 
Тимохов ©   (2004-04-23 18:26) [7]

Поправка

> 2. т.е. в файле хранится апперсенд+lt;,


 
Тимохов ©   (2004-04-23 18:30) [8]

xml документ, который хранит неэкранированный символ < не является корректным.
можете сами проверить - напишите
<a>
abc<dt
</a>

Попробуйте открыть его лбой прогой, которая умеет открывать xml (у меня это internet explorer).
Будет ошибка.


 
Тимохов ©   (2004-04-23 18:30) [8]

xml документ, который хранит неэкранированный символ < не является корректным.
можете сами проверить - напишите
<a>
abc<dt
</a>

Попробуйте открыть его лбой прогой, которая умеет открывать xml (у меня это internet explorer).
Будет ошибка.


 
Murad ©   (2004-04-23 18:31) [9]

А с CDATA у меня и проблема... этот раздел не получается добавить в конкретный узел... так ведь?


 
Murad ©   (2004-04-23 18:31) [9]

А с CDATA у меня и проблема... этот раздел не получается добавить в конкретный узел... так ведь?


 
Тимохов ©   (2004-04-23 18:34) [10]


> Murad ©   (23.04.04 18:31) [9]
> А с CDATA у меня и проблема... этот раздел не получается
> добавить в конкретный узел... так ведь?

Почему.
Спецификации xml это не противоречит. Значт используемая вами объектная модель должна это делать (я так понимаю, что это парсер от macrosoft). Изучайте.

Все-таки.
Ответте на вопрос: чем вам не нравится наличие сиволов апперсенд+lt; в тексте? Вы же все равно этот текст читатете тем же парсером, а он заменить это на <.


 
Тимохов ©   (2004-04-23 18:34) [10]


> Murad ©   (23.04.04 18:31) [9]
> А с CDATA у меня и проблема... этот раздел не получается
> добавить в конкретный узел... так ведь?

Почему.
Спецификации xml это не противоречит. Значт используемая вами объектная модель должна это делать (я так понимаю, что это парсер от macrosoft). Изучайте.

Все-таки.
Ответте на вопрос: чем вам не нравится наличие сиволов апперсенд+lt; в тексте? Вы же все равно этот текст читатете тем же парсером, а он заменить это на <.


 
Murad ©   (2004-04-23 18:38) [11]

2Тимохов
 1. Метод CreateNode(...NodeType ...) есть только у IXMDocument
    и нету у IXMLNode
 
 2. Суть следующая - есть XML документ, который используя XSLT
    преобразуется в HTML... причем в этом документе есть узел
   (должен быть) который не преобразуется, а  весь его код  
   (HTML) должен попадать в выходной документ.


 
Murad ©   (2004-04-23 18:38) [11]

2Тимохов
 1. Метод CreateNode(...NodeType ...) есть только у IXMDocument
    и нету у IXMLNode
 
 2. Суть следующая - есть XML документ, который используя XSLT
    преобразуется в HTML... причем в этом документе есть узел
   (должен быть) который не преобразуется, а  весь его код  
   (HTML) должен попадать в выходной документ.


 
Тимохов ©   (2004-04-23 18:43) [12]


> 2Тимохов
>  1. Метод CreateNode(...NodeType ...) есть только у IXMDocument
>     и нету у IXMLNode

Смотрите внимательнее.
Я когда-то пользовался msxml. Сейчас на память не помню.
Если не ошибаюсь, вы дожны сначала создать node методом createnode, а затем его добавить в детей другого нода. Практически уверен, что это так. С cdata надо работать таким же образом.


 
Тимохов ©   (2004-04-23 18:43) [12]


> 2Тимохов
>  1. Метод CreateNode(...NodeType ...) есть только у IXMDocument
>     и нету у IXMLNode

Смотрите внимательнее.
Я когда-то пользовался msxml. Сейчас на память не помню.
Если не ошибаюсь, вы дожны сначала создать node методом createnode, а затем его добавить в детей другого нода. Практически уверен, что это так. С cdata надо работать таким же образом.


 
Murad ©   (2004-04-23 18:48) [13]

Спасибо... буду надеяться что так получиться, хотя это как-то странно... просто узел можно создать, а узел определенного типа - через документ...


 
Murad ©   (2004-04-23 18:48) [13]

Спасибо... буду надеяться что так получиться, хотя это как-то странно... просто узел можно создать, а узел определенного типа - через документ...


 
Тимохов ©   (2004-04-23 18:51) [14]


> Murad ©   (23.04.04 18:48) [13]

Да меня тоже удивлял этот момент.

Вы все-таки подумайте, может не надо вам никакой cdata. Ведь в html неэкранированный < тоже не корректен, при этом < html прекрасно понимает.
Подумайте, есть ощущение, что вы не там копаете.


 
Тимохов ©   (2004-04-23 18:51) [14]


> Murad ©   (23.04.04 18:48) [13]

Да меня тоже удивлял этот момент.

Вы все-таки подумайте, может не надо вам никакой cdata. Ведь в html неэкранированный < тоже не корректен, при этом < html прекрасно понимает.
Подумайте, есть ощущение, что вы не там копаете.


 
Murad ©   (2004-04-23 19:00) [15]

нет... в этом плане я все верно делаю... спасибо... методы нашел... ща попробую заюзать


 
Murad ©   (2004-04-23 19:00) [15]

нет... в этом плане я все верно делаю... спасибо... методы нашел... ща попробую заюзать


 
Murad ©   (2004-04-23 19:03) [16]

кстати, а каким образом в элемент CDATA добавлять текстовое содержимое... неужели надо добавлять текст как бинарный поток ?
при попытке использовать SetText или SetValue - ругается


 
Murad ©   (2004-04-23 19:03) [16]

кстати, а каким образом в элемент CDATA добавлять текстовое содержимое... неужели надо добавлять текст как бинарный поток ?
при попытке использовать SetText или SetValue - ругается


 
Тимохов ©   (2004-04-23 19:08) [17]

Сильно не уверен в правоте ваших действий :((


 
Тимохов ©   (2004-04-23 19:08) [17]

Сильно не уверен в правоте ваших действий :((


 
Murad ©   (2004-04-23 19:10) [18]

На каком основании :)))?


 
Murad ©   (2004-04-23 19:10) [18]

На каком основании :)))?


 
Тимохов ©   (2004-04-23 19:12) [19]


> Murad ©   (23.04.04 19:10) [18]

На том, что вы считаете, что спрашиваете только вы здесь :))
Я задал вопрос: как вы собираетесь хранить символ "<" в html? Вы на него ответа не дали. Как ответ дадите, все сами поймете.


 
Тимохов ©   (2004-04-23 19:12) [19]


> Murad ©   (23.04.04 19:10) [18]

На том, что вы считаете, что спрашиваете только вы здесь :))
Я задал вопрос: как вы собираетесь хранить символ "<" в html? Вы на него ответа не дали. Как ответ дадите, все сами поймете.


 
Murad ©   (2004-04-23 19:14) [20]

Видимо я что-то не верно пояснил... у меня все получилось... спасибо вам большое... щас уже убегаю... если есть интерес в понедельник могу подробнее рассказать ... Murad@newmail.ru


 
Murad ©   (2004-04-23 19:14) [20]

Видимо я что-то не верно пояснил... у меня все получилось... спасибо вам большое... щас уже убегаю... если есть интерес в понедельник могу подробнее рассказать ... Murad@newmail.ru


 
Тимохов ©   (2004-04-23 19:17) [21]

Видимо...


 
Тимохов ©   (2004-04-23 19:17) [21]

Видимо...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.037 c
3-1081669851
ppcat
2004-04-11 11:50
2004.05.09
Проект, базы данных


9-1071390469
Nvart
2003-12-14 11:27
2004.05.09
Крестики-нолики


8-1076286432
Maratus
2004-02-09 03:27
2004.05.09
Прорисовка двигающегося выделения как в графических пакетах


7-1080637320
Карелин Артем
2004-03-30 13:02
2004.05.09
Директивы $IFDEF и линковка.


14-1082448342
Sirus
2004-04-20 12:05
2004.05.09
Установк своей программы...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский