Xml 增量交换格式
我需要一种格式将数据从程序a传输到程序B,显然我更喜欢使用标准格式。从表面上看,XML非常适合这项工作,也可能是JSON 美中不足的是,我需要的格式是增量的:程序A不时地将数据附加到文件中,然后程序B在文件准备好后将整个文件吞下。据我所知,XML和JSON都不能做到这一点,因为它们都要求文件中只有一个顶级元素 我有什么遗漏吗 澄清: 我需要XML提供而CSV不提供的那种结构。(好吧,我可以制作一个CSV的变种,其他任何东西都读不懂,但这正是我试图避免的。)Xml 增量交换格式,xml,json,Xml,Json,我需要一种格式将数据从程序a传输到程序B,显然我更喜欢使用标准格式。从表面上看,XML非常适合这项工作,也可能是JSON 美中不足的是,我需要的格式是增量的:程序A不时地将数据附加到文件中,然后程序B在文件准备好后将整个文件吞下。据我所知,XML和JSON都不能做到这一点,因为它们都要求文件中只有一个顶级元素 我有什么遗漏吗 澄清: 我需要XML提供而CSV不提供的那种结构。(好吧,我可以制作一个CSV的变种,其他任何东西都读不懂,但这正是我试图避免的。) A不知道何时完成(取决于用户操作、网络
A不知道何时完成(取决于用户操作、网络连接的可用性和其他不可预测的变量),因此A不能说“现在我将写入最后一个结束标记并向B移交”,因为A可能会在B之前再次调用。CSV如何?易于编写-如果您知道格式并且不需要额外的元信息,则易于解析。如果我理解正确,则工作流如下所示:
- 在一段时间内,A正在建立数据以放入文件中
- 一旦准备好了,B就把整个东西都吃掉了
A可以在每次更新时写入此内容。这里的问题是,编写一个文件需要有限的时间,并且您不希望B读取部分写入的文件。这里需要某种形式的文件完整性信号(使用临时文件作为信号量、重命名等)我不会签署“易于解析”,因为大多数应用程序对CSV到底是什么有一些不同的看法(想想分隔符和转义,以及转义的转义)。当然,也就是说,除非你同时控制两个应用程序,只使用“你的”CSV格式。你完全正确。我负责控制这两个应用程序。然后就很容易解析了,因为您可以指定格式。