• 8434阅读
  • 5回复

qt写XML文件标签时其标签属性排列的顺序问题 [复制链接]

上一主题 下一主题
离线peirenjun
 
只看楼主 正序阅读 楼主  发表于: 2009-06-27
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
在Qt中写xml文件时,给一个结点标签添加属性时

QDomDocument doc;
QDomProcessingInstruction instruction;

instruction = doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);

QDomElement root = doc.createElement("person");
doc.appendChild(root);

QDomElement kgl_input = doc.createElement("io");
root.appendChild(kgl_input);

QDomAttr name = doc.createAttribute("name");
QDomAttr type = doc.createAttribute("type");
name.setValue(tr("zhangsan"));
type.setValue(tr("90"));
kgl_input.setAttributeNode(name);
kgl_input.setAttributeNode(type);

QTextStream out(&file);
out.setCodec("UTF-8");
doc.save(out,4,QDomNode::EncodingFromTextStream);

执行后
<person>
<io type="90" name="zhangsan" >
</person>


如何可控制 name 属性与 type 属性的前后顺序?
如果我想让某个属性在某个顺序,或是让 name 属性在 type 属性的前面,应该如何做?
更换下面两句话的前后位置并不能达到效果
kgl_input.setAttributeNode(name);
kgl_input.setAttributeNode(type);
离线shiroki

只看该作者 5楼 发表于: 2009-06-30
呵呵, 我说不行咋都不信呢。。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线peirenjun
只看该作者 4楼 发表于: 2009-06-30
我也尝试了好多方法,都没有成功,貌似真的不行。
离线tianykun
只看该作者 3楼 发表于: 2009-06-29
这个我都试过,更换位置不能达到效果,
望大侠告知
离线peirenjun
只看该作者 2楼 发表于: 2009-06-29
谢谢!
离线shiroki

只看该作者 1楼 发表于: 2009-06-27
qdom底层用了qmap, 是按key排序的,估计不能保留你设置的顺序
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个