QT xml文件

QT/qt(17)xml文件

XML(可扩展标记语言,eXtensible Markup Language)
是一种用于存储和传输数据的标记语言。

它被设计用来结构化、存储和传输信息,具有自我描述性,
易于阅读和理解。XML 文件通常用于数据交换、配置文件、文档格式等领域。

XML 文件由一系列的元素(elements)组成,
每个元素由开始标签(start tag)、内容(content)和结束标签(end tag)组成。

元素可以包含属性(attributes)和其他子元素。

<person>
    <name>John Doe</name>
    <age>30</age>
    <city>New York</city>
    <address>
        <street>123 Main St</street>
        <state>NY</state>
        <city>New York</city>
    </address>
</person>

在这个示例中:

<person> 是根元素。
<name>, <age>, <city>, 和 <address> 是子元素。
<address> 元素包含 <street>, <state>, 和 <city> 子元素。


XML 文件的特点包括:

可扩展性:XML 允许用户定义自己的标签和结构,因此非常灵活。
自我描述性:XML 文件包含了数据的结构和含义,易于人类阅读和理解。
平台无关性:XML 文件可以在不同的操作系统和应用程序之间交换数据。
层次结构:XML 数据以树形结构组织,便于数据的存储和检索。


XML 文件通常用于以下场景:

数据交换:不同系统之间交换数据,如 Web 服务、API 等。
配置文件:应用程序的配置信息,如服务器配置、应用程序设置等。
文档格式:用于定义文档的结构和内容,如 SVG(可缩放矢量图形)、RSS(简易信息聚合)等。

QDomDocument 类

这些成员函数涵盖了 QDomDocument 类的基本功能,包括创建节点、解析 XML、操作文档结构、查询和遍历节点等。

// 构造函数
QDomDocument::QDomDocument(); // 构造一个空的 QDomDocument 对象
QDomDocument::QDomDocument(const QDomDocumentType &doctype); // 构造一个 QDomDocument 对象,并指定文档类型
QDomDocument::QDomDocument(const QDomDocument &x); // 通过复制另一个 QDomDocument 对象 x 来构造一个 QDomDocument 对象

// 创建节点
QDomElement QDomDocument::createElement(const QString &tagName); // 创建一个元素节点
QDomComment QDomDocument::createComment(const QString &data); // 创建一个注释节点
QDomText QDomDocument::createTextNode(const QString &data); // 创建一个文本节点
QDomCDATASection QDomDocument::createCDATASection(const QString &data); // 创建一个 CDATA 节点
QDomProcessingInstruction QDomDocument::createProcessingInstruction(const QString &target, const QString &data); // 创建一个处理指令节点
QDomDocumentFragment QDomDocument::createDocumentFragment(); // 创建一个文档片段节点
QDomAttribute QDomDocument::createAttribute(const QString &name); // 创建一个属性节点
QDomEntityReference QDomDocument::createEntityReference(const QString &name); // 创建一个实体引用节点

// 解析 XML
bool QDomDocument::setContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从字节数组中解析 XML 内容
bool QDomDocument::setContent(const QString &data, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从字符串中解析 XML 内容
bool QDomDocument::setContent(QIODevice *dev, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从 QIODevice 中解析 XML 内容
bool QDomDocument::setContent(const QByteArray &data, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从字节数组中解析 XML 内容,不进行命名空间处理
bool QDomDocument::setContent(const QString &data, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从字符串中解析 XML 内容,不进行命名空间处理
bool QDomDocument::setContent(QIODevice *dev, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); // 从 QIODevice 中解析 XML 内容,不进行命名空间处理

// 获取文档内容
QString QDomDocument::toString(int i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可能只会写BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值