首先先把我们要读取的xml文件搞上来:
`
`
我们简单看一下用浏览器显示的这个数据的结构:
可以说这个XML的层次以及较为复杂了,已经比得上很多应用程序的数据结构复杂度了,那么我们就尝试一点一点将这个程序解析出来。注意第二行的。与设置显示有关,这里就懒得处理了。不用管它,删掉也行。
首先,排除掉上一节讲的前两行,然后我们看到了一个ROOT节点,要注意的是,任何XML文件的根节点只能有一个!!也就是说,如果你这么写:
……
……
……
……
使用浏览器或者任何常规的解析器就会解析错误,因为没有根节点(如果最大范围的节点有两个,它就不再是根节点了,而是普通节点,例如ROOT 和 ROOT2,同为最大范围的节点,遍都不再是根节点了。)
利用上一节我们的程序读取了前两行版本信息以后,使用下面的程序,
复制代码
//读取根元素 QDomElement root = xml.documentElement(); dw->addContents("["+root.tagName()+"]"); dw->addContents("");//再隔开一行 //注意上一节提到过,dw->addContents(QString)是用来调试显示结果用的程序,每次调用都换一行显示
一看就知道,首先先把第一个子节点找出来,然后转为元素 (就是里面有数据的结构,当然这里的节点Mode和Mode2里面还是节点,所以并不算一个元素)。
然后再把子节点的名字打印出来,然后转到下一个节点。最后的打印效果如下:
[Mode]
[Mode2]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END