void DomParser::parseEntryElement(const QDomElement &element, QTreeWidgetItem *parent) { QTreeWidgetItem *item = new QTreeWidgetItem(parent); item->setText(0, element.attribute("term")); QDomNode child = element.firstChild(); while (!child.isNull()) { if (child.toElement().tagName() == "entry") { parseEntryElement(child.toElement(), item); } else if (child.toElement().tagName() == "page") { parsePageElement(child.toElement(), item); } child = child.nextSibling(); } }
bool FineReaderXMLOutputHandler::startElement( const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes) { // std::cout << "startElement()" << "\n"; // std::cout << "namespaceURI = " << namespaceURI.toStdString() << std::endl; // std::cout << "localName = " << localName.toStdString() << std::endl; // std::cout << "qName = " << qName.toStdString() << std::endl; // std::cout << "attributes length = " << attributes.length() << std::endl; bool returnVal = true; // if current element is charParams --> parse it in corresponding function if (qName == "page") { returnVal = parsePageElement(attributes); } else if (qName == "charParams") { returnVal = parseCharParamsElement(attributes); } currentText.clear(); return returnVal; } // end of startElement