本文整理汇总了C++中KoXmlElement::childNodes方法的典型用法代码示例。如果您正苦于以下问题:C++ KoXmlElement::childNodes方法的具体用法?C++ KoXmlElement::childNodes怎么用?C++ KoXmlElement::childNodes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoXmlElement
的用法示例。
在下文中一共展示了KoXmlElement::childNodes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
bool Context::load( const KoXmlDocument &document ) {
m_document = document; // create a copy, document is deleted under our feet
// Check if this is the right app
KoXmlElement elm = m_document.documentElement();
QString value = elm.attribute( "mime", QString() );
if ( value.isEmpty() ) {
kError() << "No mime type specified!" << endl;
// setErrorMessage( i18n( "Invalid document. No mimetype specified." ) );
return false;
} else if ( value != "application/x-vnd.kde.kplato" ) {
kError() << "Unknown mime type " << value << endl;
// setErrorMessage( i18n( "Invalid document. Expected mimetype application/x-vnd.kde.kplato, got %1", value ) );
return false;
}
QString m_syntaxVersion = elm.attribute( "version", "0.0" );
if ( m_syntaxVersion > "0.0" ) {
/* int ret = KMessageBox::warningContinueCancel(
0, i18n( "This document was created with a newer version of KPlato (syntax version: %1)\n"
"Opening it in this version of KPlato will lose some information.", m_syntaxVersion ),
i18n( "File-Format Mismatch" ), KGuiItem( i18n( "Continue" ) ) );
if ( ret == KMessageBox::Cancel ) {
setErrorMessage( "USER_CANCELED" );
return false;
}*/
}
#ifdef KOXML_USE_QDOM
int numNodes = elm.childNodes().count();
#else
int numNodes = elm.childNodesCount();
#endif
KoXmlNode n = elm.firstChild();
for ( ; ! n.isNull(); n = n.nextSibling() ) {
if ( ! n.isElement() ) {
continue;
}
KoXmlElement element = n.toElement();
if ( element.tagName() == "context" ) {
m_context = element;
m_contextLoaded = true;
/* currentView = element.attribute("current-view");
currentEstimateType = element.attribute("estimate-type").toInt();
currentSchedule = element.attribute("current-schedule").toLong();
actionViewExpected = element.attribute("view-expected").toInt();
actionViewOptimistic = element.attribute("view-optimistic").toInt();
actionViewPessimistic = element.attribute("view-pessimistic").toInt();
QDomNodeList list = element.childNodes();
for (int i=0; i<list.count(); ++i) {
if (list.item(i).isElement()) {
QDomElement e = list.item(i).toElement();
if (e.tagName() == "gantt-view") {
ganttview.ganttviewsize = e.attribute("ganttview-size").toInt();
ganttview.taskviewsize = e.attribute("taskview-size").toInt();
ganttview.currentNode = e.attribute("current-node");
ganttview.showResources = e.attribute("show-resources").toInt();
ganttview.showTaskName = e.attribute("show-taskname").toInt();
ganttview.showTaskLinks = e.attribute("show-tasklinks").toInt();
ganttview.showProgress = e.attribute("show-progress").toInt();
ganttview.showPositiveFloat = e.attribute("show-positivefloat").toInt();
ganttview.showCriticalTasks = attribute("show-criticaltasks").toInt();
ganttview.showCriticalPath = e.attribute("show-criticalpath").toInt();
ganttview.showNoInformation = e.attribute("show-noinformation").toInt();
QDomNodeList list = e.childNodes();
for (int i=0; i<list.count(); ++i) {
if (list.item(i).isElement()) {
QDomElement g = list.item(i).toElement();
if (g.tagName() == "closed-nodes") {
QDomNodeList list = g.childNodes();
for (int i=0; i<list.count(); ++i) {
if (list.item(i).isElement()) {
QDomElement ei = list.item(i).toElement();
if (ei.tagName() == "node") {
ganttview.closedNodes.append(ei.attribute("id"));
}
}
}
}
}
}
} else if (e.tagName() == "accounts-view") {
accountsview.accountsviewsize = e.attribute("accountsview-size").toInt();
accountsview.periodviewsize = e.attribute("periodview-size").toInt();
accountsview.date = QDate::fromString(e.attribute("date"), Qt::ISODate);
accountsview.period = e.attribute("period").toInt();
accountsview.cumulative = e.attribute("cumulative").toInt();
QDomNodeList list = e.childNodes();
for (int i=0; i<list.count(); ++i) {
if (list.item(i).isElement()) {
QDomElement g = list.item(i).toElement();
if (g.tagName() == "closed-items") {
QDomNodeList list = g.childNodes();
for (int i=0; i<list.count(); ++i) {
if (list.item(i).isElement()) {
QDomElement ei = list.item(i).toElement();
if (ei.tagName() == "account") {
//.........这里部分代码省略.........