QDomElement::text() - нужно подобие |
Здравствуйте, гость ( Вход | Регистрация )
QDomElement::text() - нужно подобие |
Litkevich Yuriy |
5.9.2008, 20:02
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Есть такой XML'ьник:
Функция QDomElement::text() для элемента h1 вернет строку (без учета форматирования): Hello Qt XML is brain's cancer как можно выдернуть только: Hello т.е. без содержимого вложеных тэгов? Вроде подходящей функции больше нет. |
|
|
ViGOur |
5.9.2008, 20:17
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Как вариант полученный QString прочитать до первого "<" ?
|
|
|
Novak |
5.9.2008, 20:20
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
obj.firstChild().toText() не поможет?
|
|
|
ViGOur |
5.9.2008, 20:22
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Удалил, потому как фигню сказал...
Сообщение отредактировал ViGOur - 5.9.2008, 20:26 |
|
|
Litkevich Yuriy |
5.9.2008, 23:16
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
пытаюсь понять что такое УЗЕЛ (NODE). Описание в стандарте расплавило мозг (из-за бесконечного цикла):
Цитата The Node interface is the primary datatype for the entire Document Object Model. It represents a single node in the document tree. или на русском: Цитата Интерфейс Node - первичный тип данных для всей Объектной Модели Документов. Он представляет единственный узел в дереве документа. может кто-нибудь объяснить, что такое узел? Элемент - содержит все, что находится между отрывающимся тэгом и соответствующим ему закрывающимся тэгом включая эти тэги. |
|
|
Novak |
5.9.2008, 23:26
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
может кто-нибудь объяснить, что такое узел? По сути это единичкая структура.. Т.е. текст - это тоже узел. Все элементы - узлы, но обратное неверно. Потому по firstChild должен как раз вылезать текст. Нужно различать текстовые узлы, элементы, узлы cdata вот можно схемку посмотреть, может понятней станет... Сообщение отредактировал Novak - 5.9.2008, 23:42 |
|
|
Litkevich Yuriy |
6.9.2008, 2:48
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вот пример:
Рекурсивный анализ начиная с root, т.е.
Вот к какому результату привел: Type: ElementNode Name: root Value: Data: Text: This is root This is tag 1 This is header Qt1XML1 is a brain's cancer This is tag 2 This is paragraph Qt2XML2 is a brain's cancer End of paragraph ----------------------------------------------------- Type: CommentNode Name: #comment Value: This root comment Data: Text: ----------------------------------------------------- Type: TextNode Name: #text Value: This is root Data: This is root Text: ----------------------------------------------------- Type: ElementNode Name: tag1 Value: Data: Text: This is tag 1 This is header Qt1XML1 is a brain's cancer ----------------------------------------------------- Type: TextNode Name: #text Value: This is tag 1 Data: This is tag 1 Text: ----------------------------------------------------- Type: ElementNode Name: h1 Value: Data: Text: This is header Qt1XML1 is a brain's cancer ----------------------------------------------------- Type: TextNode Name: #text Value: This is header Data: This is header Text: ----------------------------------------------------- Type: ElementNode Name: b1 Value: Data: Text: Qt1 ----------------------------------------------------- Type: TextNode Name: #text Value: Qt1 Data: Qt1 Text: ----------------------------------------------------- Type: ElementNode Name: i1 Value: Data: Text: XML1 is a brain's cancer ----------------------------------------------------- Type: TextNode Name: #text Value: XML1 is a brain's cancer Data: XML1 is a brain's cancer Text: ----------------------------------------------------- Type: CommentNode Name: #comment Value: This first comment Data: Text: ----------------------------------------------------- Type: ElementNode Name: tag2 Value: Data: Text: This is tag 2 This is paragraph Qt2XML2 is a brain's cancer End of paragraph ----------------------------------------------------- Type: TextNode Name: #text Value: This is tag 2 Data: This is tag 2 Text: ----------------------------------------------------- Type: CommentNode Name: #comment Value: This thecond comment Data: Text: ----------------------------------------------------- Type: ElementNode Name: p1 Value: Data: Text: This is paragraph Qt2XML2 is a brain's cancer End of paragraph ----------------------------------------------------- Type: TextNode Name: #text Value: This is paragraph Data: This is paragraph Text: ----------------------------------------------------- Type: ElementNode Name: b2 Value: Data: Text: Qt2 ----------------------------------------------------- Type: TextNode Name: #text Value: Qt2 Data: Qt2 Text: ----------------------------------------------------- Type: ElementNode Name: i2 Value: Data: Text: XML2 is a brain's cancer ----------------------------------------------------- Type: TextNode Name: #text Value: XML2 is a brain's cancer Data: XML2 is a brain's cancer Text: ----------------------------------------------------- Type: TextNode Name: #text Value: End of paragraph Data: End of paragraph Text: -----------------------------------------------------
Причина редактирования: отчётик об эксперементе
|
|
|
Novak |
6.9.2008, 13:01
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
Так что в итоге всё понятно и проблема решена?
|
|
|
trdm |
6.9.2008, 21:15
Сообщение
#9
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
а фигли тут решать?
минут 10 если содержание стабильно... |
|
|
Litkevich Yuriy |
6.9.2008, 22:13
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Так что в итоге всё понятно и проблема решена? Понятно, но проблема не решена, т.е. прийдется всегда проверять тип тэга и в зависимости от типа применять либо Value, либо Textоднообразия нет блин. а фигли тут решать? не понял
минут 10 если содержание стабильно... |
|
|
Текстовая версия | Сейчас: 28.1.2025, 17:48 |