Konwertowanie tekstu z obiektu QDomDocument do Html'a

0

Witam,
mam tekst pliku *.xml zawarty w obiekcie QDomDocument. Muszę go wstawić do QTextEdit'a. Na początku spróbowałem tak:

editor->setHtml(doc.toString); // 'editor' to QTextEdit, a 'doc' to QDomDocument

ale oczywiście znaczniki Html różnią się od znaczników xml i to co znalazło się w QTextEdicie to tylko czysty tekst (formatowanie zostało utracone). W jaki sposób mogę przekonwertować tekst z QDomDocument'a do Html?

0

załaduj dane do QTextDocument, a potem użyj toHtml()

qt-project.org/doc/qt-4.8/qtextdocument.html

0

Spróbowałem. Niestety nie da się tak po prostu załadować danych z QDomDocument do QTextDocument. Próbowałem tak:

            QTextDocument htmlDoc;
            htmlDoc.setHtml(doc.toString());
            editor->setHtml(htmlDoc.toHtml());

i tak:

            QTextDocument htmlDoc;
            htmlDoc.setPlainText(doc.toString());
            editor->setHtml(htmlDoc.toHtml());

Przy użyciu pierwszego kodu formatowanie tekstu jest ignorowane, a przy użyciu drugiego - do QTextEdit'a jest wczytywany cały xml wraz ze znacznikami.

1

editor->setHtml(QTextDocument(doc.toString()).toHtml());

no a jak ma być wczytywany, bez? jak chcesz text z konkretnego node'a to go wyciągnij i załaduj tak jak ja podałem

edit jeżeli chcesz zmienić formatowanie z xml -> html (czego nie napisałeś w pytaniu to tak się nie da)

zobacz tutaj http://stackoverflow.com/questions/11917936/qdomdocument-fails-to-set-content-of-an-html-document-with-doctype-tag

0

Nie chcę zaśmiecać forum tworząc nowy wątek, dlatego odkopię ten:
potrzebuję przekonwertować string z treścią (i znacznikami) XML na string z treścią HTML. @up napisał, że nie ma na to sposobu w bibliotekach Qt. Wpadłem na pomysł, że można by wrzucić xml do pliku pdf, a potem do obiektu z treścią HTML wczytać tego pdf'a, ale oczywiście Qt nie ma funkcji do wczytywania pdf'ów ;D. No cóż, szukam innego sposobu. Może znacie jakąś bibliotekę, która odwaliłaby tę część roboty za mnie :D?

0

Czy klasa QXmlQuery jest odpowiednia do tego, co chcę uzyskać? Szukam i szukam, ale nic nie mogę znaleźć :C

1 użytkowników online, w tym zalogowanych: 0, gości: 1