if(ee.nodeName()==QObject::tr("测试"))
{
QDomNodeList list=ee.childNodes();
for(int i=0;i<list.count();i++)
{
QDomNode node=list.at(i);
if(node.isElement())
{
if(node.nodeName()==QObject::tr("F0"))
{
F0=node.toElement().text();qDebug()<<F0;
}
。。。。。。。。。。
}
QDomNodeList list=ee.childNodes();
list.count()的返回值的个数只有2个
我的xml文件中明明有39个子项,为什么只取到前2个,其它的都没有?
(1)我们可以用浏览器检查一下XML的编码格式及内容是否正确。正确的XML文件是可以被IE浏览器直接打开的。我们用IE浏览器检查一下是否能正确地显示。如果显示不正确,我们就要从编码,文件格式来检查这个XML文件了;
(2)我们再检查一下打开这个XML文件时是否正确,有时候我们并不能成功的打开一个XML,这个问题多数属于上面的问题所导致的。打开文件后要设置一下XML解析的文档内容。我们调用m_dom.setContent(file)这个函数来完成这一过程。有时这一函数调用失败了,由于我们自身代码的原因让其继续往下执行就会出现这一个问题。当设置解析内容失败后要回到上一部检查文件的正确性,文件是否被正确读取等原因;
(3)然后,我们检查一下我们所取的XML的元素对象是否与我们要判定的元素个数的名字相同,如果元素对象的名称与我们要取的元素对象的名称不一至,就要重新修改代码。确保要操作的对象无误;
一般情况下完成上面两部检查,都可以正确地解释出XML的内容了。