昨天下午搞了一下Qt中的dom解析。发现并没有java中的好用。

1. 除了QDomDocument类以外,均没有toString方法。我仅仅想吧QDom**->QString 只能通过QDomDocuemnt来实现

2. 就算用QDomDocument。 需要将QDom** append到QDomDocument。就会出现下面的结果:

    QDom**是通过此QDomDocument::create**出来的。可以append.

    QDom**不是通过此QDomDocument::create**出来的,QDomDocument用带参的初始化方法初始化的。可以append

    QDom**不是通过此QDomDocument::create**出来的,QDomDocument用无参的初始化方法初始化的。不可以append

3. QDomNode是所有QDom**的父类。其中appendChild()又是我们经常用的。看官网注释

Appends newChild as the node's last child.If newChild is the child of another node, it is reparented to this node. If newChild is a child of this node, then its position in the list of children is changed.If newChild is a QDomDocumentFragment, then the children of the fragment are removed from the fragment and appended.If newChild is a QDomElement and this node is a QDomDocument that already has an element node as a child, newChild is not added as a child and a null node is returned.Returns a new reference to newChild on success or a null node on failure.Calling this function on a null node(created, for example, with the default constructor) does nothing and returns a null node.The DOM specification disallow inserting attribute nodes, but for historical reasons, QDom accepts them anyway.

  1. 如果newChild是其他节点的孩子,那么重定向到此节点,如果是这个节点的孩子,则改变位置。

    如果我仅仅想复制newChild到其他节点。那么我需要copy newChild,比较蛋疼需要重新new一个然后一个一个copy。

    ok 我知道写个clone方法或者有api可以调用。但是增加一个直接插入的函数难道不好么?我帮起个名字:appendChildFocus();

2. 3. 就不说了。也是限制条件。

我只关注了这些。浪费了我4个小时的时间后,然后决定用QJson OYE.

google了一下大家怎么评论的。第一条就是" just confusing me!!!"  所以建议大家能不用QDom就不用。

转载于:https://www.cnblogs.com/blog-wenfeng/p/3334609.html

Qt 中 QXml/QDom*** api设计吐槽相关推荐

  1. QT中使用 WinExec API 参数不支持中文路径的解决办法

    在QT中使用WinExec时,发现如果调用外部程序,如果路径或者参数含有中文路径,可能导致无法打开应用程序或者无法使用参数,解决办法,下面是简单的解决办法: QString strImagePath ...

  2. Qt中常用的3种提示框设计方法

    Qt中常用的提示信息设计方法 [问题背景]通常,在项目项目开发的过程中,某些人机交互界面需要对用户的输入数据进行合法性判断,如果用户输入数据合法,则进入下一步流程,否则,就要给出相应的错误提示,以提示 ...

  3. 设计Qt风格的C++API

    相当好的关于API设计的文章,Qt的创始人之一写就,很有启发,大规模的C++设计会碰到的问题很多,我们可以慢慢想办法减少这些问题. 原文来自:http://googollee.blog.163.com ...

  4. API设计原则 - Qt官网的设计实践总结

    原文链接:API Design Principles - Qt Wiki 基于Gary的影响力上 Gary Gao 的译文稿:C++的API设计指导 译文发在酷壳 - CoolShell:API设计原 ...

  5. SpringCloud工作笔记048---RESTful API 中 HTTP 状态码的定义_以及把RESTFul版本号_放到http协议header中_以及RestFul设计时的两个误区

    JAVA技术交流QQ群:170933152 ------------------------- RESTful架构有一些典型的设计误区. 最常见的一种设计错误,就是URI包含动词.因为"资源 ...

  6. Service Mesh中的通用数据平面API设计

    原文地址:https://blog.envoyproxy.io/the-universal-data-plane-api-d15cec7a 作者:Matt Klein 译者:敖小剑 校对:宋净超 正如 ...

  7. 让你在 API 设计中少踩坑的实战分享

    本文来自作者 奔跑吧架构师 在 GitChat 上分享 「让你在 API 设计中少踩坑的实战分享」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 在项目开发中,实际的编码只占用了整个项目不 ...

  8. API设计中时间定义的5条规则

    API设计中,如何定义你的时间参数和时间相关的返回值可能会是一个潜在的问题,千万不要低估这些问题,它们可能会对你未来的设计和实现造成很大麻烦. 本文提供一些tips可能可以帮助到大家 规则#1  使用 ...

  9. Qt中使用百度语音API将语音转化为文字

    在Qt中使用百度语音API将语音转化为文字 widget.cpp代码 yuyin1.pro代码 widget.h代码 main.cpp代码(没有改动可不看) 最近学校实训要做一个嵌入式智能家居项目,我 ...

最新文章

  1. quartusii开发过程中路径不能出现空格或中文
  2. win7仿linux主题,linuxmint 16 cinnamon模仿win7/win8主题
  3. (六)OpenStack---M版---双节点搭建---Neutron安装和配置
  4. app登录界面背景 css_计算机毕业设计中Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)...
  5. Gartner:云安全的未来——中国的安全访问服务边缘架构
  6. oracle关键字 bulk,oracle和sqlserver的一些保留关键字
  7. 【elasticsearch】文档 CRUD 增删改查 以及 相关 参数
  8. Centos7等保三级检查命令
  9. Ubuntu12.04配置nginx+php+mysql
  10. maven跳过单元测试
  11. 如何计算CRC循环校验码示例
  12. cJSON遍历Json数据的key
  13. 计算机科学与技术培养计划,计算机科学与技术专业培养方案(2017版).PDF
  14. 国家,省/州,城市下拉框
  15. 计算机只报数字怎么调成音乐,电脑怎么设置一锁屏音乐就停?
  16. 三维坐标数学计算公式
  17. 如何使用Arcgis10.6在影像中画shp继而对影像做出裁剪
  18. Java之List系列--去重的方法
  19. 爽文,Redis分布式锁的实现和原理
  20. php array 关联数组,php关联数组的输出

热门文章

  1. Error while retrieving the leader gateway. Retrying to connect to akka.tcp://flink@laptop:xxxx
  2. 使用TPU的注意事项
  3. python行数最短的PCA实现方式
  4. 机器学习(四)——SVM(2)
  5. 【机器学习】传统目标检测算法之Haar分类器
  6. vamei java_java Vamei快速教程20 GUI
  7. BZOJ1941:[SDOI2010]Hide and Seek(K-D Tree)
  8. Linux Load Balancing之NAT与DR模型
  9. iOS 苹果app提交 ITC.apps.validation.prerelease_build_missing
  10. CSDN下载频道2014年11月4日本-5日常维护公告