我的XML格式为
<Value active="false">8.0</Value>
我正在使用QXmlStreamReader来解析XML。我能够阅读标签&#34; Value&#34;和实际值&#34; 8.0&#34;,但我无法阅读XML的active="false">
部分。
const QString label = xmlReader.name().toString();
xmlReader.readNext();
const QString text = xmlReader.text().toString();
给了我&#34;价值&#34;在label
和&#34; 8.0&#34;在text
。
我将代码修改为
const QString label = xmlReader.name().toString();
const QString labelIn = xmlReader.readElementText();
xmlReader.readNext();
const QString text = xmlReader.text().toString();
但是labelIn
返回一个空字符串。我错过了什么吗?
我正在使用Qt 5.3
答案 0 :(得分:4)
节点的QXmlStreamReader
部分称为 attribute 。要获得它的价值,您需要使用QXmlStreamAttributes attribs = xmlReader->attributes();
QString attr = attribs.value("active").toString();
类的专用API:
<set cascade="delete" inverse="true" lazy="true" name="tblTrackLocationrelations" sort="unsorted" table="tbl_track_locationrelations"> <key column="track_LocationRelations_location_id_fk" /> <one-to-many class="com.src.hibernate.TblTrackLocationrelations" /> </set>