QFile file("my.xml");//創建指向my.xml文件的QFile對象. if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) // 只寫方式打開,並清空之前的信息 { qDebug() << "打開失敗"; return 0; } QDomDocument doc; //新創建一個QDomDocument對象,表示一個xml文檔 QDomProcessingInstruction instrution; //添加處理指令 instrution = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instrution); QTextStream out(&file); doc.save(out, 4); //將文檔保存到文件,4爲子元素縮進字符數 file.close();
QDomDocument doc; //新創建一個QDomDocument對象,表示一個xml文檔 QDomProcessingInstruction instrution; //添加處理指令 instrution = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instrution); QDomElement root = doc.createElement("書庫"); doc.appendChild(root); //添加根元素
、linux
QDomDocument doc; //新創建一個QDomDocument對象,表示一個xml文檔 QDomProcessingInstruction instrution; //添加處理指令 instrution = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instrution); QDomElement root = doc.createElement("書庫"); doc.appendChild(root); //添加根元素 QDomElement book = doc.createElement("圖書"); QDomAttr id = doc.createAttribute("編號"); root.appendChild(book);
doc.appendChild(instrution); QDomElement root = doc.createElement("書庫"); doc.appendChild(root); //添加根元素 QDomElement book = doc.createElement("圖書"); QDomAttr id = doc.createAttribute("編號"); book.setAttributeNode(id); root.appendChild(book);
QDomDocument doc; //新創建一個QDomDocument對象,表示一個xml文檔 QDomProcessingInstruction instrution; //添加處理指令 instrution = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instrution); QDomElement root = doc.createElement("書庫"); doc.appendChild(root); //添加根元素 QDomElement book = doc.createElement("圖書"); QDomAttr id = doc.createAttribute("編號"); id.setValue("1"); book.setAttributeNode(id); root.appendChild(book);
#include <QCoreApplication> #include <QtXml> #include <QDebug> /* * 使用QDomDocument在內存種生成一顆Dom樹,而後調用save()函數利用QTextStream文本流將Dom樹保存在了文件中, * 在生成Dom樹時主要使用了createElement()等函數來生成各類節點,而後使用appendChild()將各個節點一次追加進去 */ int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QFile file("my.xml");//創建指向my.xml文件的QFile對象. if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) // 只寫方式打開,並清空之前的信息 { qDebug() << "打開失敗"; return 0; } QDomDocument doc; //新創建一個QDomDocument對象,表示一個xml文檔 QDomProcessingInstruction instrution; //添加處理指令 instrution = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""); doc.appendChild(instrution); QDomElement root = doc.createElement("書庫"); doc.appendChild(root); //添加根元素 QDomElement book = doc.createElement("圖書"); QDomAttr id = doc.createAttribute("編號"); id.setValue("1"); book.setAttributeNode(id); //圖書能夠有本身的屬性 QDomElement title = doc.createElement("書名"); QDomText text = doc.createTextNode("Qt"); title.appendChild(text); book.appendChild(title); QDomElement author = doc.createElement("做者"); text = doc.createTextNode("shiming");//文本節點 author.appendChild(text); //QT&shuiming是用來描述書名和做者的,所以是孩子 book.appendChild(author); //書名&做者是圖書的孩子,他們是用來描述圖書的 root.appendChild(book); //添加第2個節點 book = doc.createElement("圖書"); id = doc.createAttribute("編號"); id.setValue("2"); book.setAttributeNode(id); //圖書能夠有本身的屬性 title = doc.createElement("書名"); text = doc.createTextNode("linux"); title.appendChild(text); book.appendChild(title); author = doc.createElement("做者"); text = doc.createTextNode("yafei");//文本節點 author.appendChild(text); //QT&shuiming是用來描述書名和做者的,所以是孩子 book.appendChild(author); //書名&做者是圖書的孩子,他們是用來描述圖書的 root.appendChild(book); QTextStream out(&file); doc.save(out, 4); //將文檔保存到文件,4爲子元素縮進字符數 file.close(); return a.exec(); }