c++ - 可以从 QXmlStreamWriter 获取 QDomElement 吗?

标签 c++ qt dom qxmpp

我正在使用 qxmpp 编写一个小型 XMPP 服务器。现在我想创建一个 QXmppStanza 并使用

将它(就像客户端发送它一样)呈现给服务器和我的插件
void QXmppServer::handleElement(const QDomElement &element)

此函数需要 QDomElement 而不是 QXmppStanza。我在 QXmppStanza 及其派生类(除了 parse(...) )中发现的唯一 XML 相关函数是函数

void toXml(QXmlStreamWriter *writer)

我还没有在 qt 中处理 XML 的经验,那么有没有比将 XML 写入字符串/ByteArray 更高效的方法,使用它作为输入来创建一个新的 QDomElement 并返回它的 documentElement?

最佳答案

在做了一些进一步的研究之后,我不得不接受这是不可能的。

如 QDomDocument 文档中所述,我始终需要 QDomDocument 才能使用 QDomElement(和其他节点):

Since elements, text nodes, comments, processing instructions, etc., cannot exist outside the context of a document (...)

QXmlStreamWriter 没有 QDomDocument,所以我真的必须创建一个 QDomDocument(当然,只要我想使用该元素,它就必须存在)然后解析文本 (QDomDocument::setContent)。

关于c++ - 可以从 QXmlStreamWriter 获取 QDomElement 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362884/

相关文章:

python - Qt horizo​​ntalSlider 发送浮点值

c++ - Qt JsonObjects 和初始化列表——比一层更深?

php - DOM:如何导入节点并给它们不同的命名空间前缀

javascript - 在特定条件下尝试禁用 DOM 创建的按钮

javascript - DOM 元素过多

c++ - 如何通过类成员函数作为模板参数?

c++ - 商店 Fl :Button value from callback (FLTK)

c++ - 如何用C/C++语言在Linux/UNIX中查找一个进程的所有读写内存地址?

qt - QAbstractItemModel 相对于 QStandardItemModel 的优势是什么?

c++ - C++中递增和递减运算符的优先级