问题标签 [qxmlstreamreader]

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 回答
1950 浏览

c++ - 无法使用 QXmlStreamReader 识别空元素

我在使用 Qt QXmlStreamReader (Qt 4.8.1) 检测空元素时遇到了一些麻烦。有一个包含以下部分的 XML 文件

如您所见,Id 为 2 和 3 的元素除了属性外都是空的。该属性不会改变任何东西。如果它不在元素中,问题仍然存在。

这是使用QXmlStreamReader的解析代码,我简化了,可能编译不出来。只是你得到了基本的想法。

文档说:

空元素也报告为 StartElement,紧随其后的是 EndElement。

我可以使用 readNext() 并且仍然没有收到结束元素。似乎解析器只能检测到

作为一个空元素,但不是

那么,只是我还是 Qt 中存在问题?如果是这样,我如何检测不包含 2 个单独元素(开始/结束)的空元素?

编辑: 所以 Huytard 要求我提供一个工作示例。但他的回答让我找到了一个几乎回答了我的问题的解决方案。因此,我在回答中提出了一个明确的例子。

0 投票
1 回答
285 浏览

xml - 如何在 Qt 中添加到这样结构的 XML 文件?

如何使用 qt 将其写入 xml 文件?

这看起来很有希望(在 QtXML (QDomElement) 中编写 XML 节点),但它没有提到属性。

0 投票
2 回答
1577 浏览

c++ - Parse XML with QXmlStreamReader

I created this xml file with QXmlStreamWriter:

I would like to create a Vector of String containing all the items inside the tag Column title="D": Now, I know how to create a QVector and how they fit elements on the inside, I just have to figure out how I can do this by extrapolating information from an xml file.

Can you help me?

0 投票
1 回答
2886 浏览

c++ - 在Qt中获取qrc文件的路径

我想知道如何访问 qrc 文件中文件的路径,以便将它们用作数组中的字符串。qrc 文件的示例是:

我想以下列方式使用它:

其中 path 是一个 qlist,稍后可用于访问相应的图像。

0 投票
1 回答
308 浏览

c++ - 将 QXmlStreamReader 实例传递给类

我正在尝试使用 QXmlStreamReader 读取 XML 文档。当我尝试将指向读者的指针传递给其他类时,我遇到了问题。我在一个类中创建了一个阅读器实例。该类读取 XML,直到遇到定义新类的块。我创建了新类的实例,然后调用该类中的一个函数以继续读取特定于它的 XML。例如:

我添加了 ModeClass 用来识别通道和伺服模块的代码。我还添加了 ChannelClass 和 ServoClass 的代码。最后,我添加了我的 XML 文件的编辑版本,但足以显示问题。这个 XML 可以很好地读入我的 TreeWidget 代码(未显示)。当我将它读入上面的代码时发生的情况是所有通道都被正确读取,然后它读取第一个伺服块并一直返回到主 ModeClass 循环,而不是读取 ModeClass::ReadServos 中的下一个伺服。我知道这是很多代码,但它似乎是显示问题的唯一方法。谢谢,

0 投票
1 回答
333 浏览

python - PyQt5 的 QXmlReader 的读取循环没有返回预期的数据

我想做一个QAbstractItemModel从一系列 Xml 文件中获取数据的文件,所有文件都位于同一目录中。由于 PyQt5 不再支持QDomDocument(或者至少我找不到让它工作的方法),我不得不求助于QXmlStreamReader. 我将数据本身放在一个巨大的 python 字典中(嗯......不完全是计算机科学标准的巨大),其中包含各种键下的其他字典以创建树状结构。

到目前为止,这是我的代码:

虽然这段代码没有崩溃或任何事情,但它确实有一些我不知道为什么会发生或如何修复的问题:

1.由于某种原因tokenName永远不会改变- 已解决None

2.self.data字典的结构没有变成树状的,不知道为什么:|

示例数据:

产生最终结果:

而不是想要的:

我知道这些问题很可能是由于我对 a 的工作原理了解不足StreamReader,因此欢迎提供任何和所有提示 :)

编辑1:

tokenName改变是一个愚蠢的定位错误,我很傻。代码反映了修复。

编辑2:

添加了示例和示例输出

0 投票
1 回答
556 浏览

c++ - Qt XML读取元素并且只获取root

我有一个关于读取 XML 文件的问题:

我想拥有所有子元素名称(100000 - 100005)的 QList,但不包含属性值。

到目前为止,这是我的代码:

我只得到一个空列表。如果我注释掉这个:

该列表包含的唯一内容是“表”(起始元素)。我想这可能很简单,但我不明白。

0 投票
1 回答
570 浏览

html - 使用 QXmlStreamReader 读取 XML 文档中的嵌入 HTML

使用QXmlStreamReader,我希望使用 HTML 标记获得具有富文本格式的 XML 文件。<em>例如,在这个文件中,如果可以访问其他 HTML 标记来格式化文本,那就太好了。(并且使用 Qt,我可以将 HTML 放在任何地方,在 aQLabel或其他东西中。)

例如,如果我QXmlStreamReader::readElementText(QXmlStreamReader::IncludeChildElements)在 的开始元素处使用 when ,则会<course-description>将里面的文本<course-description>剥离标签Welcome to the basic course.

当然,我想这样做,而不必考虑代码中的每个 HTML 标记。

0 投票
1 回答
616 浏览

c++ - 无法读取嵌套 xml 标记的属性 (QXmlStreamReader)

我有 XML 文件(我必须简化它):

属性存储在两个 QMap 中:mapString(Line 的属性)和MapTerm(Term 的属性)。我可以读取Line标签的属性,但不能读取Term标签。这也不是

也不

正在工作,if (xml.name() == "Term")中的代码未执行。

0 投票
1 回答
1414 浏览

c++ - QXmlStreamReader:无法跟随 readNextStartElement() 的流程

我必须实现一个 xml 解析器,该解析器在运行时构造 Qt 对象并将其放置在小部件中。我基于这个写了一个解析器。一个模块表示QWidget将保存QPushButtonQCheckBox实例。xml是 a QXmlStreamReader,就像 Qt 参考中的示例一样。

所以,在这里我尝试解析这个非常基本的 xml 文件:

一个模块元素将创建一个小部件来保存标签内的复选框和按钮。所以在这里:

我希望阅读模块元素并输入它的范围readModule。在里面readModule我真的很难遵循解析流程。

这是实现:

它只会到达buttonxml 文件中的第一个元素并创建一个按钮。发送 UART。

当我将实现更改readXml为:

它将到达第一个按钮和第一个复选框。我错过了什么?

编辑:添加了 readButton 的实现