linux qt xml,QT如何读xml节点?如何获取节点属性?

这篇博客介绍了在QT中如何读取和解析XML文件,包括获取节点的value值和属性。通过示例代码展示了如何使用QDomDocument和QDomNode类来遍历XML结构,提取节点信息。关键步骤包括设置XML内容,读取根节点,获取子节点,以及通过tagName()和attribute()函数来获取节点名和属性值。
摘要由CSDN通过智能技术生成

QT如何读xml节点,如何获取节点属性?

这个实例讲了,QT中怎么去获取xml节点的value值,怎么去获取节点属性的值,并且还讲解了怎么直接读xml格式的内容,和怎么直接读xml文件。这个实例应该会帮助到大部分的初学者。

下面这段代码是获取xml节点,和获取节点属性。

//m_returnPostData 这个是xml格式的值,获取到的,QByteArray类型。

//dom.documentElement();//读取根节点

//docElem.firstChild();//读取第一个子节点

//e.tagName():获取节点名称

//e.text()获取节点value

//e.attribute ("en"):获取节点内属性为“en”的值

//nextSibling():获取下一个兄弟节点

QDomDocument dom;

//读取xml格式的值

dom.setContent(m_returnPostData);

//或者读取xml文件

QFile file("/usr/local/ui.xml");

if (!file.open(QIODevice::ReadOnly))

return;

if (!doc.setContent(&file))

{

file.close();

return;

}

file.close();

QDomElement docElem = dom.documentElement();

QDomNode n = docElem.firstChild();

while (!n.isNull())

{

QDomElement e = n.toElement();

if (!e.isNull())

{

hash.insert(qPrintable(e.tagName()), qPrintable(e.text()));

if( e.attribute ("en") != "")

{

QString nName = e.nodeName()+"_en";

hash.insert(qPrintable(nName), qPrintable(e.attribute ("en")));

}

}

n = n.nextSibling();

}

其他的一些函数:

lastChild():获得最后一个节点

childNodes():获取该节点的所有孩子节点的一个列表

previousSibling():获取前一个兄弟节点.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值