Qt XML |
Здравствуйте, гость ( Вход | Регистрация )
Qt XML |
quarz |
9.1.2010, 22:05
Сообщение
#1
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
Делаю разбор xml с помощью SimpleReader + DefaultHandler.
Все гут, но не могу сделать одну вещь - распознать теги такого вида: <tag /> DefaultHandler распознает его как открывающий. Может есть способ получить полную строку тега, чтобы регуляркой "<.*/>" распознать? |
|
|
Litkevich Yuriy |
9.1.2010, 22:32
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
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, 23:19
Сообщение
#3
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
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, 23:56
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 18.1.2025, 2:34 |