![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
QMainWindow |
![]() ![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Привет!
Вопрос в сабже. В начале сделал, как в примерах показано (DOM BookMarks) - открытие файла; проверка, является ли файл xml'евским с нужной версией. А как дальше делать, чтобы он распознавал тэги? В QtXml столько классов... QDomDocument вроде ясно зачем. А Node, Element и тд - куда они? PS Туториал есть по этому? |
|
|
RazrFalcon |
![]()
Сообщение
#2
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
QMainWindow |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Посмотрел. Но там получается, что в консоль выводятся только тэги на одном уровне. А что делать с теми, что вложены в них? Или делать тоже самое, но для вложенных? А не проще просканировать все подряд? Я же не знаю, сколько уровней в файле.
|
|
|
RazrFalcon |
![]()
Сообщение
#4
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Раскрывающийся текст
Как то так. |
|
|
QMainWindow |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, буду разбираться.
|
|
|
QMainWindow |
![]()
Сообщение
#6
|
Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Возникла проблема.
Есть, например, три самых верхних тэга: title, section, section (никаких head, body или других, что могли бы стоять выше). Для просмотра в глубину каждого из них использую вышеуказанную рекурсию. Предположим, вся ветка title просмотрена и наша функция переходит к просмотру потомков у второго тэга. Вопрос: как определить этот момент? |
|
|
RazrFalcon |
![]()
Сообщение
#7
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Iron Bug |
![]()
Сообщение
#8
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
Есть, например, три самых верхних тэга: title, section, section (никаких head, body или других, что могли бы стоять выше) на самом деле, это несоответствие стандарту XML. так что многие парсеры будут ругаться. лучше всё же делать единый корень у всего документа. |
|
|
QMainWindow |
![]()
Сообщение
#9
|
Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А, я видать не написал. Те 3 тэга - это пример. На самом деле мы не знаем, как конкретно называются все верхние тэги (и их количество), все они записаны в сам xml файл. Может есть какой-нибудь метод для определения самого верхнего родителя ака getTopDomNode()?
Определить этот момент нужно не для меня, а для программы, т.к. в именно этот момент ей нужно очистить два векторных массива. Корень изначально единый, просто в самом доке идут следующие подуровни, которые нужно по-разному обрабатывать (т.е. есть несколько методов). Сообщение отредактировал QMainWindow - 30.7.2011, 20:26 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
примеры смотри
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 20:43 |