目录
头文件
关联文件
XML文件的写入
(1)创建xml文档格式头
(2)创建根节点元素标签
(3)创建子节点元素标签
(4)设置标签属性
(5)设置标签内容
(6)保存xml文件
XML文件的解析?
(1)查找具体标记名的所有节点元素
(2) QDomNodeList类介绍
(3)QDomNode类方法
(4)遍历节点
(5)?QDomElement 与?QDomNode
(6)获取QDomNode属性值的两种方法
头文件
qmake: QT += xml
Header: #include<QDomDocument>
QDomDocument --> xml文件指针
关联文件
QFile file(filePath);
file.open(QIODevice::WriteOnly);
QDomDocument doc;
doc.setContent(&file);
XML文件的写入
(1)创建xml文档格式头
QDomProcessingInstruction ins; ins = doc.createProcessingInstruction("xml", "version = \'1.0\' encoding=\'utf-8\'");
(2)创建根节点元素标签
??QDomElement root = doc.createElement("tagname"); ? doc.appendChild(root);
(3)创建子节点元素标签
QDomElement dateEmt = doc.createElement("childTagName");
root.appendChild(dateEmt);
(4)设置标签属性
QDomElement dateEmt = doc.createElement("cim:Company");
//创建属性名? QDomAttr dateAttr = doc.createAttribute("属性名"); dateAttr.setNodeValue("属性内容”);
dateEmt.setAttributeNode(dateAttr); //设置标签属性
(5)设置标签内容
QDomText text = doc.createTextNode("xxx"); dateEmt.appendChild(text);
(6)保存xml文件
QTextStream stream(&file); doc.save(stream, 4); //参数2为 标签的tab缩进值
XML文件的解析?
(1)查找具体标记名的所有节点元素
QDomNodeList nodeList = doc.elementsByTagName("标签名")
(2) QDomNodeList类介绍
QDomNodeList Class
QDomNodeList类是QDomNode对象的列表。
Header: | #include <QDomNodeList> | qmake: | QT += xml |
Note:?All functions in this class are reentrant.
Public Functions
详细描述
QDomNodeList类是QDomNode对象的列表。
列表可以通过QDomDocument::elementsByTagName()和QDomNode::childNodes()获得。文档对象模型(DOM)要求这些列表是“活动的”:每当您更改基础文档时,列表的内容都会得到更新。
可以使用item()从列表中获取特定节点。列表中的项数由length()返回
(3)QDomNode类方法
(4)遍历节点
使用firstChild()获取节点的第一个子节点(如果有),并使用nextSibling()进行遍历。
(5)?QDomElement 与?QDomNode
我的理解 : QDomElement和QDomNode都是节点,不同在于QDomElement是单独的节点(即当没有子标签时),可以使用 tagName()和text()方法获得节点的名称和内容。?QDomNode 可以使用 toElement()转化为QDomElement类型
(6)获取QDomNode属性值的两种方法
QDomNode node;
① QString value =?node.attributes().namedItem("属性名").nodeValue()
②?QString value = QDomElement elem = node.toElement().attribute( "属性名" );
|