问题标签 [qdomdocument]

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 投票
0 回答
581 浏览

xml - QDomDocument::setContent 和 XML 声明属性引号问题

从字符串导入 XML 文档时遇到问题。

XML 声明/预处理器有两个属性(版本、编码),它们在双引号中定义。但是,在通过 setContent 方法创建 QDomDocument 时,双引号被替换为单引号,但仅对于声明/预处理器元素,根元素属性仍使用双引号。

QDomDocument::toString() :

QDomDocument::SetContent(...) ... toString() :

数据在传输协议中使用,在接收端需要通过校验和进行验证 - 由于从双引号转换为单引号,此验证将失败。

关于如何在转换中保留使用双引号的任何想法?

谢谢

请参阅下面用于重新创建问题的代码:

0 投票
1 回答
83 浏览

c++ - 使用 QDomDocument 类的 xml 文件中的 Lastchild

我有这个xml:

我想在最后一个有对象的 VCAFrame 中获取最后一个 objectID(138.96.200.59_20160126_102157480_3)。

我试过这段代码,但它不起作用。

0 投票
1 回答
118 浏览

c++ - 如何在 QT 中获取 XML 文件的最后一个节点?

在我当前的项目中,我正在使用 QDomDocument 类解析 XML 文件。我的 XML 文件如下所示:

在 XML 文件中的<Content>标签数量。我如何打印<Content>带有相应标签名称的所有数据的最后一个标签。我的输出将像:

谁能给我一些在 QT(C++) 中工作的示例代码

0 投票
1 回答
63 浏览

c++ - QDomElement 无法检测到正确的 nodeType

我目前正在努力解析 XML 文档,因为 QDomElement 似乎无法检测到正确的 nodeType。

我的 xml 文档包含以下内容:

文档中要阅读的代码如下:

我的问题是,即使它只包含文本元素,我在调用时总是收到 QDomNode::ElementNode firstLevel.nodeType()。但是对于解析,必须知道正确的 nodeType。我该怎么做才能获得实际类型?

问候, Frogtime

0 投票
1 回答
60 浏览

xml - 检查 XML 中的异常

我有一个如下所示的 XML 文件:

我创建了这样的代码:

程序在文本编辑中这样写:

为什么def不显示textEdit?我该如何解决?

顺便提一句。对不起我的英语不好

0 投票
1 回答
208 浏览

c++ - 读取访问冲突第二次创建 QDomElement

我编写了一个类来处理 XML 文件。该类在构建时加载文件,并在销毁时将其保存。当课程处于活动状态时,我有几个 getter 和 setter 函数来更改值。其中之一是记录一些文件重命名的功能。每次调用时,它都会为 elem_renames 创建一个新的子元素。

问题:现在,我创建 DataElementHandle 类并为文件的每次更改调用重命名函数。但是每次我调用该函数时,我的程序都会因以下错误消息而崩溃:

抛出异常:读取访问冲突。错误在函数的第一行抛出。

我不明白为什么会这样。我想我不能覆盖 QDomElement 因为仍然有一个链接到第一次调用时创建的元素。但是怎么做?它应该在函数结束时消失。

我将 Qt 5.8 与 Visual Studio 2015 和 Visual Leak Detector 一起使用。

头文件:

如果 XML 文件不存在,则会像这样创建一个新模板,并将其保存到析构函数中的文件中。

编辑1:我已经建立了一个测试项目,它工作正常。我必须更详细地调查这个问题。

0 投票
0 回答
111 浏览

xml - 使用 QDomDocument 读取 XML 文件失败

作为创建地址簿项目的一部分,我必须在 XML 文件中进行备份。

我使用 QDomDoc 等,写入功能正常,但 xml 文件的读取/解析在 QDomDoc 的设置内容时失败。

我看了很多有例子的论坛,但没有结果..

我的写作代码:

我的阅读代码:

我希望我的解释足够清楚.. :)

感谢阅读,也许是答案:p

0 投票
1 回答
1085 浏览

c++ - 如何在 Qt 中解析一个未知的 xml 并获取其中的所有属性?

我有几个具有以下样式的 xml 文档,但每个文档都包含不同的节点。

我正在用 QDomElement/QDomNode 解析它。我需要从树中获取属性和节点值(正如我之前所说,未知,我们正在谈论数百个文件)。我得到值没有问题:

但是获取属性(例如文本“Deep name”)真的让我很困惑。我知道 QDomElement 有一个 ::attributes() 函数,但生成的地图似乎总是只包含一个空字符串。以下代码显示了我一直在尝试提取属性的概念:

这在概念上是否正确?您将如何将所有属性提取到一个不错的列表/字符串中?

0 投票
1 回答
157 浏览

c++ - 将 QDomDocument 数据用作文本的更好方法

我是一个新手,我正在创建一个XML文件,我需要在其中提供CRC价值以在服务器上进行交叉检查。为此,我需要 QDomDocument 数据作为文本。为此,我首先创建XML具有假CRC值的文件。然后我打开它QFile并读取所有数据。然后我拆分数据并计算数据CRC。现在我必须再次重写整个文件。我知道两次编写同一个文件是最糟糕的主意,但是由于我是新手,所以我不知道如何以更好的方式进行操作。这是我的代码:-

谁能建议我有什么更好的方法来做到这一点。谢谢

0 投票
1 回答
618 浏览

xml - QDomDocument:带有 XML 标记的 setContent 错误

我正在尝试使用 setContent 将我的 XML 文件设置为 QDomDocument,但它返回错误。

我的 XML 文件:

这是我的代码片段:

我运行时收到的错误消息如下:

错误:解析元素 7 11 时发生错误

其中行 = 7,列 = 11。

现在我很确定这可能是因为“\”或“。” 标签(Settings\it.server.com)中可能导致它失败的字符。无法更改 XML,因为它来自外部源。无论如何,我的问题是使用 QDomDocument 吗?

我研究了 QXmlStreamReader 和 Writer 但我还没有弄清楚如何更新属性。QDomDocument 对此有更好的工具。