Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Document Object Model

Проблема с CDATA

> Описанным Leechy методом получаю на клиенте XML.
> Пример узла:
> <note subj="subj">
> <![CDATA[text of notes with <tag>tags</tag>]]>
> </note>
>
> код JavaScript:
> var note = doc.getElementsByName("note").item(0);
> var text = note.firstChild;
>
> таким образом в note лежит сам узел, в text - CDATA
> в ИЕ (с использованием activex) это действительно так, т.е.
> note.nodeType = 1 (ELEMENT)
> text.nodeType = 4 (CDATA)
>
> однако в Mozilla (1.1 в моем случаем)
> text.nodeType = 3 (TEXT)
>
> соответственно, получить сдержимое CDATA не получается.
> что скажет всезнающий ALL на эту проблему???

А зачем, собственно? Ведь, по сути дела, cdata - это квотинг для XML потока, и если мы отконвертировали данные во что угодно другое, что уже не является XML, в том числе DOM дерево - этот квотинг нам уже не нужен. А при конвертировании _В_ XML все равно надо руководствоваться не тем, квотили или нет это ранее, а тем, нужно ли это квотить реально. Я просто написал функцию, которая проверяет и квотит входную строку, если надо (заодно правильно обрабатывает наличие внутри строки уже имеющихся CDATA), и все входные данные для XML, если они из внешнего мира, всегда попадают внутрь только через нее.
СообщениеАвторДата
RaR18.12.2002 17:11
crimaniak23.12.2002 07:45