XML 是可扩展标记语言, 是各种应用程序之间进行数据传输的最常用的工具。能够简化数据的存储和共享。那qt如何读取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(); }
xml格式是怎样的?
XML文件格式是纯文本格式,在许多方面类似于HTML,XML由XML元素组成,每个XML元素包括一个开始标记(),一个结束标记()以及两个标记之间的内容,例如,可以将XML元素标记为价格、订单编号或名称。标记是对文档存储格式和逻辑结构的描述。在形式上,标记中可能包括注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明( DTD)和序言。
具体规则如下:
1、必须有声明语句。
XML声明是XML文档的第一句,其格式如下:
< ? xml version = "1.0" encoding = "utf-8" ? >
2、注意大小写
在XML文档中,大小写是有区别的。“A”和“a”是不同的标记。注意在写元素时,前后标记的大小写要保持一致。最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母,这样可以减少因为大小写不匹配而产生的文档错误。
3、XML文档有且只有一个根元素
良好格式的XML文档必须有一个根元素,就是紧接着声明后面建立的第一个元素,其他元素都是这个根元素的子元素,根元素完全包括文档中其他所有的元素。根元素的起始标记要放在所有其他元素的起始标记之前;根元素的结束标记要放在所有其他元素的结束标记之后。
4、属性值使用引号
在HTML代码里面,属性值可以加引号,也可以不加。但是XML规定,所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号),否则将被视为错误。
5、所有的标记必须有相应的结束标记
在HTML中,标记可以不成对出现,而在XML中,所有标记必须成对出现,有一个开始标记,就必须有一个结束标记,否则将被视为错误。
6、所有的空标记也必须被关闭
空标记是指标记对之间没有内容的标记,比如“”等标记。在XML中,规定所有的标记必须有结束标记。
示例:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="osg.AndroidExample" android:installLocation="preferExternal" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk> <uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requierements (2.0) --> <uses-permission android:name="android.permission.INTERNET"/> <application android:label="@string/app_name" android:icon="@drawable/osg"> <activity android:name=".osgViewer" android:label="@string/app_name" android:screenOrientation="landscape"> <!-- Force screen to landscape --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
XML 应用于 Web 开发的许多方面,常用于。对开发人员来说有了xml能够简化数据的存储和共享,会使你的数据更有用。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: