xx7*_*aBs 2 c++ xml qt dom qtxml
我正在用 XML 做一些事情,现在我很困惑。这段代码完美运行:
QDomElement new_item = doc.createElement(name);
new_item.setAttribute("type", value.typeName());
new_item.setAttribute("value", value.toString());
doc.elementsByTagName(section).at(0).appendChild(new_item);
Run Code Online (Sandbox Code Playgroud)
但是如果我自己创建 QDomElement(不调用 createElement 方法),那么它不会被插入到文档中。像这样的东西不起作用:
QDomElement new_item;
new_item.setTagName(name);
new_item.setAttribute("type", value.typeName());
new_item.setAttribute("value", value.toString());
doc.elementsByTagName(section).at(0).appendChild(new_item);
Run Code Online (Sandbox Code Playgroud)
谁能向我解释为什么我需要使用 createElement 方法?
谢谢 :)
基本上 DomElement 创建需要 QDomDocument 具有的信息。来自 Qt 4.7 文档
由于元素、文本节点、注释、处理指令等不能存在于文档的上下文之外,因此文档类还包含创建这些对象所需的工厂函数。创建的节点对象有一个 ownerDocument() 函数,该函数将它们与创建它们的上下文中的文档相关联。
http://doc.qt.io/archives/qt-4.7/qdomdocument.html#details(第三段)
| 归档时间: |
|
| 查看次数: |
2889 次 |
| 最近记录: |