问题标签 [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.

0 投票
2 回答
1418 浏览

c++ - 将 QXmlItem 转换为 QtDomElement 或类似的?

我正在解析以下结构的相当复杂的 XML 文件:

这很粗糙,但我希望你明白我的意思。我主要对“项目”节点感兴趣。于是我写了如下代码(直接出自Qt的在线手册):

现在,QXmlItem 似乎代表两个概念,一个字面值(如字符串)或一个节点(这就是 item.isNode() 所做的)。不幸的是,我无法掌握如何将 QXmlItem 转换为可以再次查询的东西。特别是从上面的示例中,我想获取“id”属性和文本元素。我可以使用 XQuery 方法来做到这一点,还是我离这里很远?

有什么建议吗?

谢谢!

0 投票
1 回答
3116 浏览

c++ - Qt C++ XML,针对 DTD 进行验证?

有没有办法通过 Qt 的 XML 处理来针对 DTD 验证 XML 文件?我试过用谷歌搜索,但似乎无法得到一个直接的答案。如果 Qt 不支持验证 XML 文件,那么我自己实现验证的过程可能是什么?关于根据规范验证 XML 有什么好的参考吗?谢谢您的帮助!

0 投票
3 回答
13596 浏览

qt - 将 QDomElement 转换为 QString / Container 类

假设我们有以下 XML 文档:

我想获得“子”节点的字符串表示并将它们附加到数组中(我不想丢失 XML 语法,因此 .text() 不是一个选项)。例如,第一个孩子看起来像:

我使用以下代码来获取元素:

问题是 doc.isNull 总是返回 false (看起来我无法将元素转换为文档)。有什么办法可以做到这一点?

编辑:

我想补充一点,QString 在这里不是强制性的。基本上任何可以稍后用于检索数据的类都可以(我将保存这些节点并稍后使用它们来初始化另一个对象)。重要的是,即使原始文档已被破坏,我也应该能够访问这些值。例如,可以将这些元素直接存储到某个数组(例如 QList)中,以便以后访问它们。

0 投票
3 回答
12434 浏览

c++ - 如何使用 QDomDocument 获取子节点的值?

A 收到这样的字符串:

我想QDomDocument用它们的索引来获取参数的子节点的值(我想在示例中提取字符串“#998.40”和“49920”)。

这是我尝试过的:

但即使arg是空的。我在这里做错了什么?

提前致谢。

0 投票
1 回答
6035 浏览

c++ - 在 QtXML (QDomElement) 中编写 XML 节点

我想写节点像

(带有开始和结束标记)到 QDomDocument 中。

当我创建 QDomElements 并将它们作为子元素附加到父元素时:

它们被添加为

到父元素。父级自动获取开始和结束标记,因此文件如下所示:

但是如何向我的节点添加一个值,使其看起来像我想要的一样(值在开始和结束标记之间)。将一个新的 QDomElement 作为子节点添加到节点,它看起来就像 . 添加属性会显示为?

如果有人可以帮助我,那就太好了!谢谢!

0 投票
1 回答
1608 浏览

c++ - 在 Qt 中将 XML 导入 DOM 树

我在 Mac OS X 上使用 Qt 4.7,并且我有一个包含 XML 文件路径的 QString。我想将该文件导入 DOM 树并将数据作为成员变量存储到类中。做这个的最好方式是什么?

我一直在查看QtXml文档,但找不到从QXml*类转换为类的清晰方法QDom*

0 投票
3 回答
2329 浏览

xml - 如何在 Qt 中导入 XML 数据

我对如何从 XML 文件导入数据感到困惑。XML 文件的结构如下:

我应该如何导入这些数据?谢谢!

0 投票
2 回答
1701 浏览

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)

堆栈跟踪:

0 投票
6 回答
24523 浏览

c++ - 编辑 QDomElement 的值?

我需要编辑 QDomElement 的文本 - 例如

我有一个 XML 文件,其内容为 -

如何编辑子元素的文本<firstchild>

我在 Qt 4.7 中提供的 QDomDocument 类描述的 QDomElement 中看不到任何函数

Edit1 - 我正在添加更多细节。

我需要阅读、修改和保存一个 xml 文件。文件的格式如下 -

需要编辑元素的值。我读取xml文件的代码是-

// 读取必要的值

// 写回修改后的值?

注意:我尝试将 QDomElement 转换为 QDomNode 并使用函数 setNodeValue()。然而,它不适用于 QDomElement。

我们非常欢迎任何建议、代码示例、链接。

0 投票
1 回答
2948 浏览

c++ - QDomDocument 不会插入 QDomElement

我正在用 XML 做一些事情,现在我很困惑。此代码完美运行:

但是,如果我自己创建 QDomElement(不调用 createElement 方法),那么它不会插入到文档中。像这样的东西不起作用:

谁能向我解释为什么我需要使用 createElement 方法?

谢谢 :)