2016-08-19 4 views
0

Wir missbrauchen die QWebFrame als HTML-ParserQWebFrame Export xhtml

QString html = "<img src=\"input_213123dfh\" />"; 
QWebFrame* frame = htmlProcessor.mainFrame(); 
frame->setHtml(html); 
QWebElementCollection inputs = frame->documentElement().findAll("img[src*=input_]"); 
foreach (QWebElement input, inputs) { 
    input.setOuterXml(QString("<input type=\"text\" uuid=\"%1\" />").arg(input.attribute("src").section("_",1,1))); 
} 
html = frame->toHtml(); 

die

<html><head></head><body><input type="text" uuid="213123dfh"></body></html> 

unser Problem gibt, ist, dass der Input-Tag in der Ausgabe nicht selbstschließend ist. Ist es möglich, HTML mit selbst abgeschlossenen Tags zu bekommen?

Antwort

0

Dies ist eine Sackgasse. Es ist nicht tragbar zu und wie Sie sehen können, funktioniert es nicht ganz.

Stattdessen sollten Sie das DOM von Javascript durchlaufen, und Sie können die XHTML dort ausgeben.