QT QXmlStreamWriter用法小结
来源:互联网 发布:java字符串拷贝到数组 编辑:程序博客网 时间:2024/05/21 19:38
在前一篇博客《QT QXmlStreamReader用法小结》中,我们介绍了QXmlStreamReader的基本用法。QXmlStreamReader主要用于xml文件的读取,这一篇则介绍QT下xml文件存储类QXmlStreamWriter。先简单介绍API,然后给出应用实例(仍然以短信为例)。
一 API介绍
writeStartDocument():写文档头,作用类似于创建一个xml文档,并在文档开头部分写入版本信息和编码信息,一般为: <?xml version="1.0" encoding="UTF-8"?>
writer.writeEndDocument():对应于writeStartDocument(),当调用这个函数时,即表示文档信息写入完毕
writeStartElement():写入开始记号,即<>
writeEndElement():写入结束记号,即</>
writeTextElement():写入文本信息记号,如短信的发送人、短信内容、短信时间等
二 应用实例
我们以写入message.xml为例,写入数据后,xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<DATA>
<Sms>
<Name>wlc</Name>
<Number>18725658147</Number>
<Content>短信测试1</Content>
<Time>2012-07-25 23:54:10</Time>
</Sms>
<Sms>
<Name>rt</Name>
<Number>13555555555</Number>
<Content>短信测试2</Content>
<Time>2012-07-26 00:21:24</Time>
</Sms>
<Sms>
<Name>wzg</Name>
<Number>18656765434</Number>
<Content>短信测试3</Content>
<Time>2012-07-26 00:22:03</Time>
<Type>0</Type>
<Read>1</Read>
</Sms>
</DATA>
xml写入数据的代码如下,通过阅读实例代码,我们应该很容易理解第一步中介绍的API,以及API的调用顺序。
void MsgModel::save_messge(){ QFile file("message.xml"); if(file.open(QIODevice::WriteOnly | QIODevice::Text)) { QXmlStreamWriter writer(&file); writer.setAutoFormatting(true); writer.writeStartDocument(); writer.writeStartElement("DATA"); std::multimap<QString, Message*>::iterator pos; for(pos = message_map->begin();pos != message_map->end();pos++) { Message *message = pos->second; writer.writeStartElement("Sms"); writer.writeTextElement("Name", message->GetMsgName()); writer.writeTextElement("Number", message->GetMsgPhone()); writer.writeTextElement("Content", message->GetMsgContent()); writer.writeTextElement("Time", message->GetMsgTime()); writer.writeEndElement(); } writer.writeEndElement(); writer.writeEndDocument(); file.close(); }}
- QT QXmlStreamWriter用法小结
- QT QXmlStreamWriter用法小结
- QT QXmlStreamWriter用法小结
- Qt Example QXmlStreamWriter Bookmarks中文解释(ZZ)
- Qt之生成XML(QXmlStreamWriter)
- Qt: QXmlStreamWriter Class写XML文件
- Qt:QXMLStreamReader、QXMLStreamWriter,读写XML文件实例
- qt 之生成XML(QXmlStreamWriter)
- QT QTableView用法小结
- QT QXmlStreamReader用法小结
- QT QXmlStreamReader用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- QT QTableView用法小结
- Android 录音组件MediaRecorder的使用 提供完整源码
- 实训第三天
- Android 中使用MediaRecorder进行录像详解(视频录制)
- Thread 与Runnable区别详解
- 15个HTML5的初级技巧
- QT QXmlStreamWriter用法小结
- Android Activity的四种LaunchMode!!!
- 中国常见的几种网络营销方式
- 彩色图象变黑白图象
- [[MyViewController alloc] initWithNibName:nil bundle:nil]; 搜索 Nib 文件的规则及注意事项
- codejam old magician 问题
- 跟我一起写 Makefile(二)
- Linux根文件系统
- 3D Graphics摄像机小系统(源码)