问题标签 [qtxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将 QXmlItem 转换为 QtDomElement 或类似的?
我正在解析以下结构的相当复杂的 XML 文件:
这很粗糙,但我希望你明白我的意思。我主要对“项目”节点感兴趣。于是我写了如下代码(直接出自Qt的在线手册):
现在,QXmlItem 似乎代表两个概念,一个字面值(如字符串)或一个节点(这就是 item.isNode() 所做的)。不幸的是,我无法掌握如何将 QXmlItem 转换为可以再次查询的东西。特别是从上面的示例中,我想获取“id”属性和文本元素。我可以使用 XQuery 方法来做到这一点,还是我离这里很远?
有什么建议吗?
谢谢!
c++ - Qt C++ XML,针对 DTD 进行验证?
有没有办法通过 Qt 的 XML 处理来针对 DTD 验证 XML 文件?我试过用谷歌搜索,但似乎无法得到一个直接的答案。如果 Qt 不支持验证 XML 文件,那么我自己实现验证的过程可能是什么?关于根据规范验证 XML 有什么好的参考吗?谢谢您的帮助!
qt - 将 QDomElement 转换为 QString / Container 类
假设我们有以下 XML 文档:
我想获得“子”节点的字符串表示并将它们附加到数组中(我不想丢失 XML 语法,因此 .text() 不是一个选项)。例如,第一个孩子看起来像:
我使用以下代码来获取元素:
问题是 doc.isNull 总是返回 false (看起来我无法将元素转换为文档)。有什么办法可以做到这一点?
编辑:
我想补充一点,QString 在这里不是强制性的。基本上任何可以稍后用于检索数据的类都可以(我将保存这些节点并稍后使用它们来初始化另一个对象)。重要的是,即使原始文档已被破坏,我也应该能够访问这些值。例如,可以将这些元素直接存储到某个数组(例如 QList)中,以便以后访问它们。
c++ - 如何使用 QDomDocument 获取子节点的值?
A 收到这样的字符串:
我想QDomDocument
用它们的索引来获取参数的子节点的值(我想在示例中提取字符串“#998.40”和“49920”)。
这是我尝试过的:
但即使arg
是空的。我在这里做错了什么?
提前致谢。
c++ - 在 QtXML (QDomElement) 中编写 XML 节点
我想写节点像
(带有开始和结束标记)到 QDomDocument 中。
当我创建 QDomElements 并将它们作为子元素附加到父元素时:
它们被添加为
到父元素。父级自动获取开始和结束标记,因此文件如下所示:
但是如何向我的节点添加一个值,使其看起来像我想要的一样(值在开始和结束标记之间)。将一个新的 QDomElement 作为子节点添加到节点,它看起来就像 . 添加属性会显示为?
如果有人可以帮助我,那就太好了!谢谢!
c++ - 在 Qt 中将 XML 导入 DOM 树
我在 Mac OS X 上使用 Qt 4.7,并且我有一个包含 XML 文件路径的 QString。我想将该文件导入 DOM 树并将数据作为成员变量存储到类中。做这个的最好方式是什么?
我一直在查看QtXml文档,但找不到从QXml*
类转换为类的清晰方法QDom*
。
xml - 如何在 Qt 中导入 XML 数据
我对如何从 XML 文件导入数据感到困惑。XML 文件的结构如下:
我应该如何导入这些数据?谢谢!
c++ - 调用 QDomElement::text() 函数时的 Visual Studio 2008“调试断言失败”消息
我已经包含了源、错误和堆栈跟踪。我该如何解决这个问题?我需要关于如何处理这个问题的指针(解释)
源代码 :
执行最后一行时 - 我收到消息
Windows 在tests.exe 中触发了一个断点。
这可能是由于堆损坏,这表明 tests.exe 或其已加载的任何 DLL 中存在错误。
这也可能是由于在 tests.exe 具有焦点时用户按 F12。
输出窗口可能有更多诊断信息。"
当我单击继续时-我进一步收到消息-
程序:...n\tests\Release\tests.exe 文件:f:\dd\vctools\crt_bld\self_x86\crt\dbgheap.c
表达式:_CrtIdValidHeapPointer(pUserData)
堆栈跟踪:
c++ - 编辑 QDomElement 的值?
我需要编辑 QDomElement 的文本 - 例如
我有一个 XML 文件,其内容为 -
如何编辑子元素的文本<firstchild>
?
我在 Qt 4.7 中提供的 QDomDocument 类描述的 QDomElement 中看不到任何函数
Edit1 - 我正在添加更多细节。
我需要阅读、修改和保存一个 xml 文件。文件的格式如下 -
需要编辑元素的值。我读取xml文件的代码是-
// 读取必要的值
// 写回修改后的值?
注意:我尝试将 QDomElement 转换为 QDomNode 并使用函数 setNodeValue()。然而,它不适用于 QDomElement。
我们非常欢迎任何建议、代码示例、链接。
c++ - QDomDocument 不会插入 QDomElement
我正在用 XML 做一些事情,现在我很困惑。此代码完美运行:
但是,如果我自己创建 QDomElement(不调用 createElement 方法),那么它不会插入到文档中。像这样的东西不起作用:
谁能向我解释为什么我需要使用 createElement 方法?
谢谢 :)