当前位置: 代码迷 >> 综合 >> Qt if(!doc.setContent(&file)进不去
  详细解决方案

Qt if(!doc.setContent(&file)进不去

热度:3   发布时间:2024-02-22 13:36:58.0

在写xml文件判断是否有节点存在是,一直进不去,而且打断点路径也没有错

    QDomDocument doc;if (!doc.setContent(&file)){file.close();return ;}

 

解决办法:

 QFile file(fileName);if(file.open(QFile::ReadWrite)){QDomDocument doc;QString error =0;int row = 0;int column = 0;if(!doc.setContent(&file, false, &error, &row, &column)){qDebug()<<error<<row<<column;}
}

用ie浏览器打开出现如下错误。

使用QXmlStreamWriter创建XML文件。

 QDomDocument doc;QFile file("userdata.xml");if(!file.open(QIODevice::WriteOnly|QIODevice::Text))return;//采用QXmlStreamWriter 类来创建xml文件QXmlStreamWriter writer(&file);writer.setAutoFormatting(true); // 自动格式化//QDomProcessingInstruction xmlInstruction = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");//"xml","version=\"1.0\"encoding=\"UTF-8\"standalone=\"yes\""
//    doc.appendChild(xmlInstruction); 
//用这个替代声明
writer.writeStartDocument();  // 开始文档(XML 声明,)系统会自动定义xml的版本 writer.writeEndDocument();  // 结束文档file.close();  // 关闭文件if(!file.open(QIODevice::WriteOnly|QIODevice::Text))// 重新打开文件return;//添加根节点,采用QDomDocument类来添加节点QDomElement root=doc.createElement(QString::fromLocal8Bit("用户使用记录"));doc.appendChild(root);//...直接添加其它节点

 

  相关解决方案