xsl编写
xsl & xml生成
// 文件路径
DProductCmd prdCmd;
QString strdir = prdCmd.GetExeFilePath()+"/Report/";
QString strxmlfile = strdir + "cdcatalog.xml"; // 不要使用xml.xml这样的文件名,可能导致错误
QString strxslfile = strdir + "cdcatalog.xsl";
QUrl urlxml = QUrl::fromLocalFile(strxmlfile); // 本地文件一定使用QUrl::fromLocalFile
QUrl urlxsl = QUrl::fromLocalFile(strxslfile);
QXmlQuery query(QXmlQuery::XSLT20);
query.setFocus(urlxml);
query.setQuery(urlxsl);
// bool bquery = query.isValid();
QString stroutput;
query.evaluateTo(&stroutput);
// 写入到文件
// QFile *fileReport;
// query.evaluateTo(fileReport);
html渲染
加入库:QT += webenginewidgets
#include <QWebEngineView>
QWebEngineView *view = new QWebEngineView();
view->setHtml(stroutput);
ui.gridLayout_content->addWidget(view);
Problem
xsl不生效:检查全文件是否有重复定义的变量
<xsl:variable name="_labeltitle_visible" select="label/visible"/>
如上面的变量定义,检查变量"_labeltitle_visible"是否在该文件中出现过。