Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> java+DOM+cdata, Проблема с парсером 
:(
    Опции темы
nogoody
Дата 29.10.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 12.9.2007
Где: Смоленск

Репутация: нет
Всего: нет



DOM парсером в JAVA читаю xml

Как можно получить текст внутри элемента в котором содержится cdata без тегов cdata

пример

Код

...
<text><![CDATA[...test test test...]]></text>
...


функия элемента getTextContent()  выводит <![CDATA[...test test test...]]> 
должен же быть способ чтения без cdata

PM MAIL   Вверх
jsa
Дата 29.10.2008, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



DOM в чей реализации?


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
nogoody
Дата 29.10.2008, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 12.9.2007
Где: Смоленск

Репутация: нет
Всего: нет



org.w3c.dom
PM MAIL   Вверх
jsa
Дата 30.10.2008, 05:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



Цитата(nogoody @  29.10.2008,  21:04 Найти цитируемый пост)
org.w3c.dom

это набор интерфейсов от sun, и может реализовать кто угодно

Цитата

Код

The attributes nodeName, nodeValue and attributes are included as a mechanism to get at node information without casting down to the specific derived interface. In cases where there is no obvious mapping of these attributes for a specific nodeType (e.g., nodeValue for an Element or attributes for a Comment ), this returns null. Note that the specialized interfaces may contain additional and more convenient mechanisms to get and set the relevant information. 

The values of nodeName, nodeValue, and attributes vary according to the node type as follows: 
Interface    nodeName              nodeValue                         attributes
CDATASection    "#cdata-section"    content of the CDATA Section    null



Цитата

getNodeValue
public String getNodeValue()
                    throws DOMException
The value of this node, depending on its type; see the table above. When it is defined to be null, setting it has no effect.



--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
nogoody
Дата 30.10.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 12.9.2007
Где: Смоленск

Репутация: нет
Всего: нет



пользуюсь стандартными средствами, велосипедов не изобретаю
Sun уже реализовала интерфейсы javax.xml.parsers и org.w3c.dom, входящих в состав пакета JAXP
Пример из книжки
Код


DocumentBuilder builder = DocumentBuilderFactory.newInstance()
                    .newDocumentBuilder();
            saveDocument = builder.parse("test.xml");
Element element = saveDocument.getDocumentElement();
//Читаю
System.out.println(element.getElementsByTagName("insert").item(0).getFirstChild().getNodeValue());


На выходе,
<![CDATA[TEST]]>
Таже фигня если использовать TextContent
 smile 
Можно конкретнее, как именно, прочитать без cdata?
PM MAIL   Вверх
jsa
Дата 30.10.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



а nodeType проверь?

Добавлено через 4 минуты и 53 секунды
загляни сюда, может пригодится


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
jsa
Дата 30.10.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



Цитата(nogoody @  30.10.2008,  17:11 Найти цитируемый пост)
System.out.println(element.getElementsByTagName("insert").item(0).getFirstChild().getNodeValue());

попробуй еще (на вскидку)
Код

element = element.getElementsByTagName("insert").item(0));

   CDATASection text1 = (CDATASection)element.getFirstChild();
    String string = text1.getData();




--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.