2016-08-19 68 views
0

我們濫用QWebFrame作爲HTML解析器QWebFrame出口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(); 

其輸出

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

我們的問題是,在輸出輸入的標籤是不是自閉。是否有可能通過自封閉標籤獲得html?

回答

0

這是一個死路一條。它不會被移植到QWebEngine,因爲你可以看到它不起作用。

相反,你應該從javascript迭代DOM,並且可以在那裏發射xhtml。