QT XML中文实例 C++代码
时间: 2023-09-18 12:10:21 浏览: 154
以下是一个使用QT库操作XML文件并包含中文字符的示例:
```c++
#include <QCoreApplication>
#include <QXmlStreamWriter>
#include <QXmlStreamReader>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个XML文件
QFile file("example.xml");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return -1;
// 创建XML写入器
QXmlStreamWriter writer(&file);
// 开始写入XML
writer.setAutoFormatting(true);
writer.writeStartDocument();
writer.writeStartElement("root");
// 写入中文字符
writer.writeTextElement("name", "张三");
writer.writeTextElement("age", "25");
writer.writeEndElement();
writer.writeEndDocument();
file.close();
// 读取XML文件
QFile readFile("example.xml");
if (!readFile.open(QIODevice::ReadOnly | QIODevice::Text))
return -1;
// 创建XML读取器
QXmlStreamReader reader(&readFile);
// 开始读取XML
while (!reader.atEnd()) {
QXmlStreamReader::TokenType type = reader.readNext();
if (type == QXmlStreamReader::StartElement) {
QStringRef name = reader.name();
if (name == "name") {
qDebug() << "姓名:" << reader.readElementText();
} else if (name == "age") {
qDebug() << "年龄:" << reader.readElementText();
}
}
}
return a.exec();
}
```
该示例中创建了一个XML文件,并写入了中文字符 "张三" 和 "25",然后使用XML读取器读取XML文件并输出中文字符。
阅读全文