Qt DomDoucment方式读写 xml文件
2013-09-01 23:23
330 查看
一、包含的基本头文件
#include <QString>
#include <QFile>
#include <QDomDocument>
#include <QTextStream>
#include <QObject>
二、基本操作
1.写xml文件
1).创建根节点:QDomElement root = doc.documentElement("rootName " );
2).创建元素节点:QDomElement element = doc.createElement("nodeName");
3).添加元素节点到根节点:root. appendChild(element);
4).创建元素文本:QDomText nodeText=doc.createTextNode("text");
5).添加元素文本到元素节点:element. appendChild(nodeText);
2.读xml文件
1).读取根节点:QDomElement root = doc.documentElement();
2).读取第一个子节点:QDomNode node = root.firstChild();
3).读取下一个子节点:node = node.nextSibling();
4).匹配结点标记:node.toElement().tagName() == "note"
5).读取节点文本:no = childNode.toText().data();
#include <QString>
#include <QFile>
#include <QDomDocument>
#include <QTextStream>
#include <QObject>
二、基本操作
1.写xml文件
1).创建根节点:QDomElement root = doc.documentElement("rootName " );
2).创建元素节点:QDomElement element = doc.createElement("nodeName");
3).添加元素节点到根节点:root. appendChild(element);
4).创建元素文本:QDomText nodeText=doc.createTextNode("text");
5).添加元素文本到元素节点:element. appendChild(nodeText);
2.读xml文件
1).读取根节点:QDomElement root = doc.documentElement();
2).读取第一个子节点:QDomNode node = root.firstChild();
3).读取下一个子节点:node = node.nextSibling();
4).匹配结点标记:node.toElement().tagName() == "note"
5).读取节点文本:no = childNode.toText().data();
#include <QCoreApplication> #include <QString> #include <QFile> #include <QDomDocument> #include <QTextStream> #include <QObject> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QFile file("class.xml"); file.open(QIODevice::WriteOnly); QDomDocument doc; QDomProcessingInstruction instruction; instruction = doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instruction); QDomElement root = doc.createElement("class"); doc.appendChild(root); QDomAttr class_attr = doc.createAttribute("name"); class_attr.setValue("class_one"); root.setAttributeNode(class_attr); QDomText text; QDomElement student1 = doc.createElement("student"); QDomAttr student1_attr = doc.createAttribute("id"); student1_attr.setValue("1"); student1.setAttributeNode(student1_attr); QDomElement student2 = doc.createElement("student"); student2.setAttribute("id","2"); text = doc.createTextNode("meng"); student2.appendChild(text); QDomElement student3 = doc.createElement("student"); QDomElement student4 = doc.createElement("student"); root.appendChild(student1); root.appendChild(student2); root.appendChild(student3); root.appendChild(student4); QTextStream out(&file); doc.save(out, 4); file.close(); return a.exec(); }
#include <QCoreApplication> #include <QString> #include <QFile> #include <QDomDocument> #include <QTextStream> #include <QObject> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QFile file("class.xml"); if(!file.open(QIODevice::ReadOnly)) { qDebug()<<"open for read error"; } QString errorStr; int errorLine; int errorColumn; QDomDocument doc; if(!doc.setContent(&file, false, &errorStr, &errorLine, &errorColumn)) { qDebug()<<" setcontent error"; file.close(); } file.close(); QDomElement root =doc.documentElement(); QDomNode node = root.firstChild(); while(!node.isNull()) { if(node.isElement()) { QDomElement element = node.toElement(); qDebug()<<qPrintable(element.tagName())<<qPrintable(element.attribute("id")) <<qPrintable(element.text()); } node = node.nextSibling(); } return a.exec(); }
相关文章推荐
- qt 开发过程中使用DOM方式读取XML文件
- Qt:用Dom方式读写xml文件
- QT DOM方式读取xml文件(QDomElement)
- Qt采用Dom方式读写XML
- Java读写XML文件的四种方式(DOM、SAX、JDOM、DOM4J)简述与比较
- QT DOM的方式读写Xml文件
- Qt下Dom方式修改xml文件的结点值
- Qt使用流方式 读写xml文件
- QT读写XML文件之DOM方式解析XML
- qt读写XML资料[DOM方式]
- DOM、SAX、JDOM和DOM4J四种方式解析XML文件性能对比
- Qt中使用DOM解析XML文件或者字符串(实例)
- android下使用dom读写xml文件
- android解析xml文件的方式(其一DOM方式)
- Dom与Pull方式解析XML文件
- DOM方式进行的XML文件、Document、String之间的相互转换
- dom方式读写xml实例
- Qt使用Dom操作XML文件
- android-----三种方式(sax、pull、dom)解析xml文件
- Java中的xml文件dom方式解析