我有一个可以互相交互的Qt TCP服务器和客户端程序。服务器可以使用 Qtextstream 将一些函数生成的数据发送到套接字。客户端使用简单的 readAll()从套接字读取数据并显示到QtextEdit。
现在我从服务器端获取的数据非常庞大(大约7000多个样本),我需要即时在客户端显示数据。我了解到使用XML对我的情况有帮助。因此,我制作了一个Qt XML Server,它将整个xml数据生成为.xml文件。我在客户端读取.xml文件,我可以显示其内容。我使用DOM方法进行解析。但是,只有在服务器端生成了所有7000多个样本时,我才能显示数据。
我需要澄清这些问题:
答案 0 :(得分:0)
大多数DOM XML解析器在使用它之前需要一个完整的,格式良好的XML文档。这正是您所看到的:只有在收到所有样本后才会处理您的数据。
您需要使用不关心XML文档尚未完成的增量解析器。
另一方面:如果您不要求XML与第三方系统进行互操作,那么您可能会因使用它而浪费大量资源。我不知道你在哪里学到了什么" XML将在您的情况下提供帮助"。对我而言,它不是在学习,而是在不了解正在发生的事情的情况下跟随人群。您是否要求使用XML或移动数据?几十年来,移动数据一直是一个众所周知的问题。电脑"说"二进制文件。你知道,不需要解决它。如果您只需要移动某些数字,请使用QDataStream
并完成它。它比最快的XML解析器快两个数量级,你传输的数据量会减少一个数量级,并且每个人都会在*之后过上幸福的生活。
*生活愉快,不保证,个人结果可能会有所不同。