相关文章推荐
严肃的火锅  ·  mybatis plus ...·  3 月前    · 
含蓄的消防车  ·  python3 ...·  11 月前    · 

可能的错误:

1、使用QDomDocument创建根节点时,使用了诸如:rootNode.setAttribute(“ProjName”,fileName);或者rootNode.setAttribute(“Version”,“2.0”);等等, 根节点不能带属性

2、createElement传tagName参数的时候存在空格

3、文件本身有问题,如格式与XML标准格式不符、编码不对

4、元素的标签有中文,无法解析

使用QDomDocument的setContent解析XML文件报错的解决方案可能的错误:1)使用QDomDocument创建根节点时,使用了诸如:rootNode.setAttribute(“ProjName”,fileName);或者rootNode.setAttribute(“Version”,”2.0”);等等,根节点不能有属性。2)createElement传tagName参... document . set Content (&file); set Content 总是失败.最后找到 错误 的原因了.是因为元素的标签为中文了.调用这个函数的时候不能正确 解析 中文 .所以还是乖乖用英文吧 那怎么办呢,标签必须用英文,但是属性可以用中文,所以要想存放中文信息就放在属性中存放吧 1、 XML 文件结构不完整,比如:缺少 "<"等; 2、创建 XML 文件时,createElement 传 tagName 参数存在空格,这里不可存在空格,如果存在空格,可正常写入,但是读取时会出现 错误
Q Dom Document :: set Content 返回值为FALSE的问题 如题所示, set Content 的值要关联file,此时要看打开file时, 使用 的是何种打开方式: file.open(QIODevice::ReadOnly) 正常,只读; file.open(QIODevice::WriteOnly) 持续返回FALSE,只写无法读; 同时,经过测试发现,如果 使用 ReadWrite读写方法,会重复写上一段话。 总结:对C++中文件的打开方式不熟悉,待进一步总结提高。
Q Dom Document Qt 中用于 解析 和创建 XML 文档的类。以下是一个简单的示例代码,演示如何 使用 Q Dom Document 解析 XML文件 : ```cpp #include <QFile> #include < Qt Xml > int main() QFile file("example. xml "); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return -1; Q Dom Document doc; if (!doc. set Content (&file)) file.close(); return -1; Q Dom Element root = doc. document Element(); Q Dom NodeList books = root.elementsByTagName("book"); for (int i = 0; i < books.count(); i++) Q Dom Node book = books.at(i); if (book.isElement()) Q Dom Element elem = book.toElement(); QString title = elem.attribute("title"); QString author = elem.attribute("author"); qDebug() << "Title: " << title << "Author: " << author; file.close(); return 0; 在这个示例中,我们打开一个名为"example. xml "的文件,然后 使用 Q Dom Document 类将其内容读入到内存中。接下来,我们获取 XML 文档的根元素,然后遍历其子元素中所有名为"book"的元素,并从中获取"title"和"author"属性。最后,我们关闭文件并返回。 请注意,Q Dom Document 类是基于 DOM 模型的 解析 器,它会将整个 XML 文档加载到内存中,因此适用于较小的 XML 文档。如果 XML 文档非常大,建议 使用 SAX模型的 解析 器,如Q Xml StreamReader类。