Разбор HTML-строки в QT - PullRequest
2 голосов
/ 23 июня 2011

Я хочу разобрать строку HTML в Qt,

в основном у меня есть QTextEdit объект (разрешен форматированный текст), и когда какое-либо тело вставляет форматированный текст (скопированный из MSWORD или аналогичный) в QTextEdit, я хочу получить информацию о стиле.

У меня есть собственная структура для хранения информации о стиле, как показано ниже. Может кто-нибудь сказать мне, как я могу разобрать HTML после получения HTML от QTextEdit? любой существующий метод ?,

P.S: я использую QT версии 4.1.4 (по причине проекта), поэтому я не могу использовать классы QT, добавленные после 4.1.4.

Заранее спасибо.

typedef struct styleset {
  QString font;
  QString size;
  bool bold;
  bool italics;
  bool underline;
  QString color;
}STYLESET;

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

Я думаю, что вы можете создать QDomDocument, а затем установить его содержимое с помощью QDomDocument::setContent( const QString & text, ...).

Qt 4.1 Док говорит:

Эта функция читает документ XML из строки текста. Поскольку текст уже строка Unicode, без кодировки обнаружение сделано.

После загрузки QDomDocument вы можете возиться с узлами, атрибутами и т. Д., Чтобы заполнить свою структуру.

0 голосов
/ 24 июня 2011

Используйте QTextCursor, чтобы перебрать QTextDocument, связанный с texteditor, и получить информацию о стиле символа с помощью QTextCursor::charFormat().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...