crossplatform.ru

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

Litkevich Yuriy
  опции профиля:
сообщение 5.9.2008, 20:02
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Есть такой XML'ьник:
<?xml version="1.0"?>
<bookindex>
    <h1>Hello
        <b>Qt</b>
        <b>XML is brain's cancer</b>
    </h1>
</bookindex>


Функция QDomElement::text() для элемента h1 вернет строку (без учета форматирования):
Hello Qt XML is brain's cancer

как можно выдернуть только: Hello т.е. без содержимого вложеных тэгов?

Вроде подходящей функции больше нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 6.9.2008, 2:48
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Вот пример:
<?xml version="1.0"?>
<!-- This start comment -->
<root>
<!-- This root comment -->
This is root
<tag1>
    This is tag 1
    <h1> This is header <b1>Qt1</b1> <i1>XML1 is a brain's cancer</i1></h1> 
    <!-- This first comment -->
</tag1>
<tag2>
    This is tag 2
    <!-- This thecond comment -->    
    <p1>This is paragraph <b2>Qt2</b2> <i2>XML2 is a brain's cancer</i2> End of paragraph</p1> 
</tag2>
</root>

Рекурсивный анализ начиная с root, т.е.
QDomDocument doc;
QDomElement root = doc.documentElement();
Вот к какому результату привел:

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:
-----------------------------------------------------

Причина редактирования: отчётик об эксперементе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.2.2025, 17:06