这个代码示例展示了如何使用QXmlStreamWriter类在Qt中生成一个包含多级节点和属性的XML文档:
1 #include <QCoreApplication> 2 #include <QFile> 3 #include <QXmlStreamWriter> 4 #include <QDebug> 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"); // 添加属性 genre 27 xmlWriter.writeAttribute("publicationYear", "1925"); // 添加属性 publicationYear 28 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"); // 添加属性 genre 39 xmlWriter.writeAttribute("publicationYear", "1949"); // 添加属性 publicationYear 40 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() << "XML file created successfully."; // 输出成功信息 56 57 return a.exec(); 58 }
玄机博客
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容