Xml - обращение к дочернему элементу |
Здравствуйте, гость ( Вход | Регистрация )
Xml - обращение к дочернему элементу |
Kagami |
28.3.2009, 9:16
Сообщение
#11
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
по моему опыту, лучше избегать применения этой функции, т.к. она рекурсивная, т.е. схватит все вложенные тэги, часто это неподходящий вариант. Лучше использовать data() или value(). Хм.. Что-то я сходу не нашел таких функций у QDomElement и у QDomDocument ни у их родителя QDomNode.. P.S. Выздоравливай скорее |
|
|
FladeX |
7.4.2009, 11:15
Сообщение
#12
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Kagami, спасибо большое! Мне как раз надо чтобы от положения элемента в xml не зависел его выбор.
Но ошибка так и остается:
Что за ошибка вообще такая? |
|
|
igor_bogomolov |
7.4.2009, 11:28
Сообщение
#13
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Видимо у вас в коде есть что то вроде такого
Так делать нельзя. Определение int j нужно вынести
Сообщение отредактировал igor_bogomolov - 7.4.2009, 11:28 |
|
|
Litkevich Yuriy |
7.4.2009, 11:45
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Хм.. Что-то я сходу не нашел таких функций у QDomElement и у QDomDocument ни у их родителя QDomNode.. вот кусочки из моего кода: насчёт value() неправ, должно быть nodeValue()
|
|
|
FladeX |
7.4.2009, 13:03
Сообщение
#15
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Итак, currentId() содержит айдишник текущей страницы. Обработка нажатия на кнопку "Помощь" (только основное):
cpp
И вот такой структуры xml файл есть: xml
Но почему-то переменная message пуста... |
|
|
Litkevich Yuriy |
7.4.2009, 13:36
Сообщение
#16
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
FladeX, У меня есть тестовая программа по которой я изучал QDOM, вот что она расказывает о твоём файле:
Раскрывающийся текст Сейчас 07.04.2009 17:36:39.609 Addr: 0, 0 Type: DocumentNode Name: #document AName: Value: AValue: Data: Text: I have a 3 children ------------------------------------------------- Addr: 0, 1 Type: ProcessingInstructionNode Name: xml AName: Value: version='1.0' AValue: Data: Text: I havn't a children ------------------------------------------------- Addr: 0, 2 Type: CommentNode Name: #comment AName: Value: Help data AValue: Data: Text: I havn't a children ------------------------------------------------- Addr: 0, 3 Type: ElementNode Name: help AName: Value: AValue: Data: Text: title0message0title1message1 I have a 2 children ------------------------------------------------- Addr: 3, 4 Type: ElementNode Name: page AName: Value: AValue: Data: Text: title0message0 I have a 2 children ------------------------------------------------- Addr: 4, 5 Type: ElementNode Name: title AName: Value: AValue: Data: Text: title0 I have a 1 children ------------------------------------------------- Addr: 5, 6 Type: TextNode Name: #text AName: Value: title0 AValue: Data: title0 Text: I havn't a children ------------------------------------------------- Addr: 4, 7 Type: ElementNode Name: message AName: Value: AValue: Data: Text: message0 I have a 1 children ------------------------------------------------- Addr: 7, 8 Type: TextNode Name: #text AName: Value: message0 AValue: Data: message0 Text: I havn't a children ------------------------------------------------- Addr: 3, 9 Type: ElementNode Name: page AName: Value: AValue: Data: Text: title1message1 I have a 2 children ------------------------------------------------- Addr: 9, 10 Type: ElementNode Name: title AName: Value: AValue: Data: Text: title1 I have a 1 children ------------------------------------------------- Addr: 10, 11 Type: TextNode Name: #text AName: Value: title1 AValue: Data: title1 Text: I havn't a children ------------------------------------------------- Addr: 9, 12 Type: ElementNode Name: message AName: Value: AValue: Data: Text: message1 I have a 1 children ------------------------------------------------- Addr: 12, 13 Type: CDATASectionNode Name: #cdata-section AName: Value: message1 AValue: Data: message1 Text: I havn't a children ------------------------------------------------- END of tree П.С. к сожалению DOM не интуитивен, и после паузы в работе с ним всё вылетает из головы. поэтому даже немогу подсказать в чём у тебя ошибка. Здесть "Addr: *, *" условный адрес узла (адрес родителя, адрес текущего ) |
|
|
Kagami |
7.4.2009, 14:12
Сообщение
#17
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
А какая область видимости у переменной message?
|
|
|
FladeX |
7.4.2009, 14:30
Сообщение
#18
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Только внутри функции. Используется для QMessageBox и все.
|
|
|
Kagami |
7.4.2009, 17:19
Сообщение
#19
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
В приведенном выше кусочке вроде ошибок не видно. Было бы неплохо глянуть на весь код этой процедуры
Сообщение отредактировал Kagami - 7.4.2009, 17:20 |
|
|
FladeX |
8.4.2009, 11:59
Сообщение
#20
|
Студент Группа: Участник Сообщений: 67 Регистрация: 20.2.2009 Пользователь №: 564 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вот функция целиком:
cpp
|
|
|
Текстовая версия | Сейчас: 10.11.2024, 0:27 |