本文整理汇总了C++中QDomElement::lastChild方法的典型用法代码示例。如果您正苦于以下问题:C++ QDomElement::lastChild方法的具体用法?C++ QDomElement::lastChild怎么用?C++ QDomElement::lastChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDomElement
的用法示例。
在下文中一共展示了QDomElement::lastChild方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: productsInsertData
bool XmlDataLayer::productsInsertData(ProductData& prodData, int type) {
QDomDocument doc(sett().getProdutcsDocName());
QDomElement root;
QDomElement products, services;
QFile file(sett().getProductsXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "New products file created";
root = doc.createElement(sett().getProdutcsDocName());
int lastId = root.attribute("last", "0").toInt();
lastId++;
root.setAttribute("last", sett().numberToString(lastId));
doc.appendChild(root);
products = doc.createElement(sett().getNameWithData(sett().getProductName()));
root.appendChild(products);
services = doc.createElement(sett().getNameWithData(sett().getServiceName()));
root.appendChild(services);
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return false;
} else {
root = doc.documentElement();
int lastId = root.attribute("last", "0").toInt();
lastId++;
root.setAttribute("last", sett().numberToString(lastId));
products = root.firstChild().toElement();
services = root.lastChild().toElement();
}
}
root.lastChild();
if (type == 0) {
QDomElement elem = doc.createElement(sett().getProductName());
productsDataToElem(prodData, elem);
products.appendChild(elem);
}
if (type == 1) {
QDomElement elem = doc.createElement(sett().getServiceName());
productsDataToElem(prodData, elem);
services.appendChild(elem);
}
QString xml = doc.toString();
file.close();
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
ts.setCodec(QTextCodec::codecForName(sett().getCodecName()));
ts << xml;
file.close();
return true;
}
示例2: kontrahenciInsertData
bool XmlDataLayer::kontrahenciInsertData(KontrData& kontrData, int type) {
QDomDocument doc(sett().getCustomersDocName());
QDomElement root;
QDomElement office;
QDomElement company;
QFile file(sett().getCustomersXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug("can not open ");
root = doc.createElement(sett().getCustomersDocName());
doc.appendChild(root);
office = doc.createElement(sett().getOfficeName());
root.appendChild(office);
company = doc.createElement(sett().getCompanyName());
root.appendChild(company);
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
// return;
} else {
root = doc.documentElement();
office = root.firstChild().toElement();
company = root.lastChild().toElement();
}
}
root.lastChild();
// firma = 0; urzad = 1;
if (type == 0) {
QDomElement elem = doc.createElement(sett().getCompanyName());
kontrahenciDataToElem(kontrData, elem);
company.appendChild(elem);
}
if (type == 1) {
QDomElement elem = doc.createElement(sett().getOfficeName());
kontrahenciDataToElem(kontrData, elem);
office.appendChild(elem);
}
QString xml = doc.toString();
file.close();
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
ts << xml;
file.close();
return true;
}
示例3: writeXml
// 将销售记录写入文档
void Widget::writeXml()
{
// 先从文件读取
if (docRead()) {
QString currentDate = getDateTime(Date);
QDomElement root = doc.documentElement();
// 根据是否有日期节点进行处理
if (!root.hasChildNodes()) {
QDomElement date = doc.createElement(QString("日期"));
QDomAttr curDate = doc.createAttribute("date");
curDate.setValue(currentDate);
date.setAttributeNode(curDate);
root.appendChild(date);
createNodes(date);
} else {
QDomElement date = root.lastChild().toElement();
// 根据是否已经有今天的日期节点进行处理
if (date.attribute("date") == currentDate) {
createNodes(date);
} else {
QDomElement date = doc.createElement(QString("日期"));
QDomAttr curDate = doc.createAttribute("date");
curDate.setValue(currentDate);
date.setAttributeNode(curDate);
root.appendChild(date);
createNodes(date);
}
}
// 写入到文件
docWrite();
}
}
示例4: productsDeleteData
bool XmlDataLayer::productsDeleteData(QString name) {
QDomDocument doc(sett().getProdutcsDocName());
QDomElement root;
QDomElement products;
QDomElement services;
QFile file(sett().getProductsXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return false;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return false;
} else {
root = doc.documentElement();
products = root.firstChild().toElement();
services = root.lastChild().toElement();
}
QString text;
for (QDomNode n = services.firstChild(); !n.isNull(); n
= n.nextSibling()) {
if (n.toElement().attribute("idx"). compare(name) == 0) {
services.removeChild(n);
break;
}
}
for (QDomNode n = products.firstChild(); !n.isNull(); n
= n.nextSibling()) {
if (n.toElement().attribute("idx"). compare(name) == 0) {
products.removeChild(n);
break;
}
}
QString xml = doc.toString();
file.close();
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
ts << xml;
file.close();
}
return true;
}
示例5: kontrahenciDeleteData
bool XmlDataLayer::kontrahenciDeleteData(QString name) {
QDomDocument doc(sett().getCustomersDocName());
QDomElement root;
QDomElement urzad;
QDomElement firma;
QFile file(sett().getCustomersXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return false;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return false;
} else {
root = doc.documentElement();
urzad = root.firstChild().toElement();
firma = root.lastChild().toElement();
}
QString text;
for (QDomNode n = firma.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (n.toElement().attribute("name"). compare(name) == 0) {
firma.removeChild(n);
break;
}
}
for (QDomNode n = urzad.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (n.toElement().attribute("name"). compare(name) == 0) {
urzad.removeChild(n);
break;
}
}
QString xml = doc.toString();
file.close();
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
ts << xml;
file.close();
}
return true;
}
示例6: showDailyList
//显示日销售清单
// 显示日销售清单
void Widget::showDailyList()
{
ui->dailyList->clear();
if (docRead())
{
QDomElement root = doc.documentElement();
QString title = root.tagName();
QListWidgetItem *titleItem = new QListWidgetItem;
titleItem->setText(QString("-----%1-----").arg(title));
titleItem->setTextAlignment(Qt::AlignCenter);
ui->dailyList->addItem(titleItem);
if (root.hasChildNodes()) {
QString currentDate = getDateTime(Date);
QDomElement dateElement = root.lastChild().toElement();
QString date = dateElement.attribute("date");
if (date == currentDate) {
ui->dailyList->addItem("");
ui->dailyList->addItem(QString("日期:%1").arg(date));
ui->dailyList->addItem("");
QDomNodeList children = dateElement.childNodes();
// 遍历当日销售的所有商品
for (int i=0; i<children.count(); i++) {
QDomNode node = children.at(i);
QString time = node.toElement().attribute("time");
QDomNodeList list = node.childNodes();
QString type = list.at(0).toElement().text();
QString brand = list.at(1).toElement().text();
QString price = list.at(2).toElement().text();
QString num = list.at(3).toElement().text();
QString sum = list.at(4).toElement().text();
QString str = time + " 出售 " + brand + type
+ " " + num + "台, " + "单价:" + price
+ "元, 共" + sum + "元";
QListWidgetItem *tempItem = new QListWidgetItem;
tempItem->setText("**************************");
tempItem->setTextAlignment(Qt::AlignCenter);
ui->dailyList->addItem(tempItem);
ui->dailyList->addItem(str);
}
}
}
}
}
示例7: on_btn_select_clicked
void MainWindow::on_btn_select_clicked()
{
ui->listWidget->clear();
ui->listWidget->addItem(tr("无法添加"));
QFile file("my.xml");
if(!file.open(QIODevice::ReadOnly()))
{
return;
}
QDomDocument doc;
if(!doc.setContent(&file))
{
file.close();
return ;
}
file.close();
QDomElement root = doc.documentElement();
QDomElement book = doc.documentElement(tr("图书"));
QDomAttr id = doc.createAttribute(tr("编号"));
QDomElement title = doc.documentElement(tr("书名"));
QDomElement author = doc.documentElement(tr("作者"));
QDomText text;
QString num = root.lastChild().toElement().attribute(tr("编号"));
int count = num.toInt() +1;
id.setValue(QString::number(count));
book.setAttributeNode(id);
text = doc.createTextNode(ui->lineEdit_name->text());
title.appendChild(text);
text = doc.createTextNode(ui->lineEdit_author->text());
author.appendChild(text);
book.appendChild(title);
book.appendChild(author);
root.appendChild(book);
if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate))
{
return;
}
QTextStream out(&file);
doc.save(out, 4);
file.close();
ui->listWidget->clear();
ui->listWidget->addItem(tr("添加成功"));
}
示例8: productsSelectData
ProductData XmlDataLayer::productsSelectData(QString name, int type) {
ProductData o_prodData;
QDomDocument doc(sett().getProdutcsDocName());
QDomElement root;
QDomElement towar;
QDomElement usluga;
QFile file(sett().getProductsXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return o_prodData;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return o_prodData;
} else {
root = doc.documentElement();
o_prodData.lastProdId = root.attribute("last", "1").toInt();
towar = root.firstChild().toElement();
usluga = root.lastChild().toElement();
}
if (type == 0) {
for (QDomNode n = towar.firstChild(); !n.isNull(); n
= n.nextSibling()) {
if (n.toElement().attribute("idx").compare(name) == 0) {
productsElemToData(o_prodData, n.toElement());
}
}
} else {
for (QDomNode n = usluga.firstChild(); !n.isNull(); n
= n.nextSibling()) {
if (n.toElement().attribute("idx").compare(name) == 0) {
productsElemToData(o_prodData, n.toElement());
}
}
}
}
return o_prodData;
}
示例9: parseVerifyIq
static bool parseVerifyIq(const QString cmd,QString &code, QString &tojid)
{
QDomDocument dom;
QDomElement elem;
//QString scmd = QString("<iq from =\"\",to=\"123\" type=\"result\"><xmlns=\"123\"/><code>xuojfoamdfoaysdYQOEWJN232</code></iq>");
if ( !dom.setContent(cmd))
{
return false;
}
elem = dom.firstChildElement(QString("iq"));
tojid = elem.attribute(QString("from"),QString(""));
if (elem.isNull())
return false;
elem = elem.firstChildElement(QString("code"));
if (elem.isNull())
return false;
code = elem.lastChild().nodeValue();
return true;
}
示例10: doc
QVector<ProductData> XmlDataLayer::productsSelectAllData() {
QVector<ProductData> prodVec;
QDomDocument doc(sett().getProdutcsDocName());
QDomElement root;
QDomElement products;
QDomElement services;
QFile file(sett().getProductsXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return prodVec;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can't set content ");
file.close();
return prodVec;
} else {
root = doc.documentElement();
products = root.firstChild().toElement();
services = root.lastChild().toElement();
}
for (QDomNode n = products.firstChild(); !n.isNull(); n = n.nextSibling()) {
ProductData prodData;
productsElemToData(prodData, n.toElement());
prodData.type = QObject::trUtf8("Towar");
prodVec.push_front(prodData);
}
for (QDomNode n = services.firstChild(); !n.isNull(); n = n.nextSibling()) {
ProductData prodData;
productsElemToData(prodData, n.toElement());
prodData.type = QObject::trUtf8("Usługa");
prodVec.push_front(prodData);
}
}
return prodVec;
}
示例11: kontrahenciSelectData
KontrData XmlDataLayer::kontrahenciSelectData(QString name, int type) {
KontrData o_kontrData;
QDomDocument doc(sett().getCustomersDocName());
QDomElement root;
QDomElement office;
QDomElement company;
QFile file(sett().getCustomersXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return o_kontrData;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return o_kontrData;
} else {
root = doc.documentElement();
office = root.firstChild().toElement();
company = root.lastChild().toElement();
}
if (type == 0) {
for (QDomNode n = company.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (n.toElement().attribute("name").compare(name) == 0) {
kontrahenciElemToData(o_kontrData, n.toElement());
}
}
} else {
for (QDomNode n = office.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (n.toElement().attribute("name").compare(name) == 0) {
kontrahenciElemToData(o_kontrData, n.toElement());
}
}
}
}
return o_kontrData;
}
示例12: kontrahenciGetFirmList
QStringList XmlDataLayer::kontrahenciGetFirmList() {
QStringList allNames;
QDomDocument doc(sett().getCustomersDocName());
QDomElement root;
QDomElement office;
QDomElement company;
QFile file(sett().getCustomersXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
return allNames;
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return allNames;
} else {
root = doc.documentElement();
office = root.firstChild().toElement();
company = root.lastChild().toElement();
}
QString text;
for (QDomNode n = company.firstChild(); !n.isNull(); n
= n.nextSibling()) {
text = n.toElement().attribute("name");
allNames << text;
}
for (QDomNode n = office.firstChild(); !n.isNull(); n = n.nextSibling()) {
text = n.toElement().attribute("name");
allNames << text;
}
}
return allNames;
}
示例13: while
/**
* The data is returned from Open Street Map in a XML. This function translates the XML into a QMap.
* @param xmlData The returned XML.
*/
QMap<QString,QString> BackendOsmRG::makeQMapFromXML(const QString& xmlData)
{
QString resultString;
QMap<QString, QString> mappedData;
QDomDocument doc;
doc.setContent(xmlData);
QDomElement docElem = doc.documentElement();
QDomNode n = docElem.lastChild().firstChild();
while (!n.isNull())
{
QDomElement e = n.toElement();
if (!e.isNull())
{
if ( (e.tagName() == QString("country")) ||
(e.tagName() == QString("state")) ||
(e.tagName() == QString("state_district")) ||
(e.tagName() == QString("county")) ||
(e.tagName() == QString("city")) ||
(e.tagName() == QString("city_district")) ||
(e.tagName() == QString("suburb")) ||
(e.tagName() == QString("town")) ||
(e.tagName() == QString("village")) ||
(e.tagName() == QString("hamlet")) ||
(e.tagName() == QString("place")) ||
(e.tagName() == QString("road")) ||
(e.tagName() == QString("house_number")))
{
mappedData.insert(e.tagName(), e.text());
resultString.append(e.tagName() + ':' + e.text() + '\n');
}
}
n = n.nextSibling();
}
return mappedData;
}
示例14: kontrahenciUpdateData
bool XmlDataLayer::kontrahenciUpdateData(KontrData& kontrData, int type, QString name) {
QDomDocument doc(sett().getCustomersDocName());
QDomElement root;
QDomElement office;
QDomElement company;
QFile file(sett().getCustomersXml());
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "File" << file.fileName() << "doesn't exists";
root = doc.createElement(sett().getCustomersDocName());
doc.appendChild(root);
office = doc.createElement(sett().getOfficeName());
root.appendChild(office);
company = doc.createElement(sett().getCompanyName());
root.appendChild(company);
} else {
QTextStream stream(&file);
if (!doc.setContent(stream.readAll())) {
qDebug("can not set content ");
file.close();
return false;
} else {
root = doc.documentElement();
office = root.firstChild().toElement();
company = root.lastChild().toElement();
}
}
root.lastChild();
QString text;
// firma = 0; urzad = 1;
if (type == 0) {
QDomElement elem; // = doc.createElement ("firma");
for (QDomNode n = company.firstChild(); !n.isNull(); n
= n.nextSibling()) {
if (n.toElement().attribute("name").compare(name) == 0) {
elem = n.toElement();
break;
}
}
kontrahenciDataToElem(kontrData, elem);
company.appendChild(elem);
}
if (type == 1) {
QDomElement elem; // = doc.createElement ("urzad");
for (QDomNode n = office.firstChild(); !n.isNull(); n = n.nextSibling()) {
if (n.toElement().attribute("name").compare(name) == 0) {
elem = n.toElement();
break;
}
}
kontrahenciDataToElem(kontrData, elem);
office.appendChild(elem);
}
QString xml = doc.toString();
file.close();
file.open(QIODevice::WriteOnly);
QTextStream ts(&file);
ts << xml;
file.close();
return true;
}
示例15: buttonSaveClicked
void QERecipe::buttonSaveClicked()
{
QDomElement rootElement;
QDomElement recipeElement;
QDomElement processVariableElement;
QDomNode rootNode;
_Field *fieldInfo;
QString currentName;
QString name;
int count;
int i;
currentName = qComboBoxRecipeList->currentText();
if (QMessageBox::question(this, "Info", "Do you want to save the values in recipe '" + currentName + "'?", QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
{
count = 0;
rootElement = document.documentElement();
if (rootElement.tagName() == "epicsqt")
{
rootNode = rootElement.firstChild();
while (rootNode.isNull() == false)
{
recipeElement = rootNode.toElement();
if (recipeElement.tagName() == "recipe")
{
if (recipeElement.attribute("name").isEmpty())
{
name= "Recipe #" + QString::number(count);
count++;
}
else
{
name = recipeElement.attribute("name");
}
if (currentName.compare(name) == 0)
{
break;
}
}
rootNode = rootNode.nextSibling();
}
}
while (recipeElement.hasChildNodes())
{
recipeElement.removeChild(recipeElement.lastChild());
}
for(i = 0; i < qEConfiguredLayoutRecipeFields->currentFieldList.size(); i++)
{
fieldInfo = qEConfiguredLayoutRecipeFields->currentFieldList.at(i);
processVariableElement = document.createElement("processvariable");
processVariableElement.setAttribute("name", fieldInfo->getProcessVariable());
if (fieldInfo->getType() == BUTTON)
{
}
else if (fieldInfo->getType() == LABEL)
{
}
else if (fieldInfo->getType() == SPINBOX)
{
processVariableElement.setAttribute("value", ((QESpinBox *) fieldInfo->qeWidget)->text());
}
else if (fieldInfo->getType() == COMBOBOX)
{
processVariableElement.setAttribute("value", ((QEComboBox *) fieldInfo->qeWidget)->currentText());
}
else
{
processVariableElement.setAttribute("value", ((QELineEdit *) fieldInfo->qeWidget)->text());
}
recipeElement.appendChild(processVariableElement);
}
if (saveRecipeList())
{
QMessageBox::information(this, "Info", "The recipe '" + currentName + "' was successfully saved!");
}
else
{
// TODO: restore original document if there is an error
QMessageBox::critical(this, "Error", "Unable to save recipe '" + currentName + "' in file '" + filename + "'!");
}
}
}