qt 写入xml文件实例

打印 上一主题 下一主题

主题 932|帖子 932|积分 2796

这个代码示例展示了如何使用QXmlStreamWriter类在Qt中生成一个包含多级节点和属性的XML文档:
[code] 1 #include  2 #include  3 #include  4 #include  5  6 int main(int argc, char *argv[]) 7 { 8     QCoreApplication a(argc, argv); 9 10     // 打开文件进行写操作11     QFile file("books_with_attributes.xml");12     if (!file.open(QIODevice::WriteOnly)) {13         qWarning("Failed to open file for writing."); // 打开文件失败,输出警告信息14         return -1;15     }16 17     QXmlStreamWriter xmlWriter(&file); // 创建QXmlStreamWriter对象18     xmlWriter.setAutoFormatting(true); // 设置主动格式化,使生成的XML文件更具可读性19     xmlWriter.writeStartDocument(); // 开始写入XML文档20 21     // 根元素22     xmlWriter.writeStartElement("library");23 24     // 第一书籍25     xmlWriter.writeStartElement("book");26     xmlWriter.writeAttribute("genre", "Fiction"); // 添加属性 genre27     xmlWriter.writeAttribute("publicationYear", "1925"); // 添加属性 publicationYear28     xmlWriter.writeTextElement("title", "The Great Gatsby"); // 添加标题元素29     xmlWriter.writeStartElement("author"); // 添加作者元素30     xmlWriter.writeTextElement("firstName", "F. Scott"); // 添加作者名字31     xmlWriter.writeTextElement("lastName", "Fitzgerald"); // 添加作者姓氏32     xmlWriter.writeEndElement(); // 结束作者元素33     xmlWriter.writeTextElement("year", "1925"); // 添加年份元素34     xmlWriter.writeEndElement(); // 结束书籍元素35 36     // 第二书籍37     xmlWriter.writeStartElement("book");38     xmlWriter.writeAttribute("genre", "Dystopian"); // 添加属性 genre39     xmlWriter.writeAttribute("publicationYear", "1949"); // 添加属性 publicationYear40     xmlWriter.writeTextElement("title", "1984"); // 添加标题元素41     xmlWriter.writeStartElement("author"); // 添加作者元素42     xmlWriter.writeTextElement("firstName", "George"); // 添加作者名字43     xmlWriter.writeTextElement("lastName", "Orwell"); // 添加作者姓氏44     xmlWriter.writeEndElement(); // 结束作者元素45     xmlWriter.writeTextElement("year", "1949"); // 添加年份元素46     xmlWriter.writeEndElement(); // 结束书籍元素47 48     // 结束根元素49     xmlWriter.writeEndElement();50 51     xmlWriter.writeEndDocument(); // 结束XML文档写入52 53     file.close(); // 关闭文件54 55     qDebug()
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表