crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Qt XML
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 9.1.2010, 23:56
 
Цитата(quarz @ 10.1.2010, 2:19) *
Пустой тег можно отличить по отсутствию данных внутри этого тега
именно, посмотри пример saxbookmarks, как там учёт открывшихся/закрывшихся тэгов сделан. Довольно простая идея.
quarz Дата 9.1.2010, 23:19
 
Цитата(Litkevich Yuriy @ 9.1.2010, 22:32) *
Цитата(quarz @ 10.1.2010, 1:05) *
DefaultHandler распознает его как открывающий.
Неверно, генерируются оба события "открывающийся тэг" и "закрывающийся тэг".
bool QXmlContentHandler::startElement ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts ) [pure virtual]
Цитата
В случае пустых тегов (например, <x/>) сразу за startElement() следует вызов endElement().



Спасибо! Вполне логичное замечание =)
У меня есть как теги <x></x>, так и <x/>. По вызову endElement() невозможно понять, какой это тег - обычный закрывающий </x> или пустой...
В DefaultHandler не нашел ничего для этого. Я с xml в Qt только начал разбираться, может чтото пропустил?

Все, разобрался! Пустой тег можно отличить по отсутствию данных внутри этого тега :) Спасибо, Юрий!
Litkevich Yuriy Дата 9.1.2010, 22:32
 
Цитата(quarz @ 10.1.2010, 1:05) *
DefaultHandler распознает его как открывающий.
Неверно, генерируются оба события "открывающийся тэг" и "закрывающийся тэг".
bool QXmlContentHandler::startElement ( const QString & namespaceURI, const QString & localName, const QString & qName, const QXmlAttributes & atts ) [pure virtual]
Цитата
В случае пустых тегов (например, <x/>) сразу за startElement() следует вызов endElement().
quarz Дата 9.1.2010, 22:05
  Делаю разбор xml с помощью SimpleReader + DefaultHandler.
Все гут, но не могу сделать одну вещь - распознать теги такого вида: <tag />
DefaultHandler распознает его как открывающий. Может есть способ получить полную строку тега, чтобы регуляркой "<.*/>" распознать?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 20:03