解决方法,错误:XML文档结构必须在同一实体内开始和结束

时间:2017-07-12 18:38:33

标签: xml matlab real-time

首先我要说我是编程和XML的新手,我对社区可以为我提供的任何支持持开放态度。

背景:我在Matlab编写自己的XML解析脚本,以支持实时数据处理至关重要的项目。我没有加载和解析“非实时”XML文件的问题。我遇到的问题是实时XML文件。产生的错误是:XML文档结构必须在同一实体内开始和结束。

说明:我正在使用专有软件来生成这些实时XML文件。当我点击数据采集程序中的“生成实时XML数据”按钮时。它在我选择的目录中生成两个文件。第一个是xml_smf(这是零字节,我无法打开)。第二个是xml文件,随着时间的推移会逐渐增大(获取实时数据并将其放入xml文件中)。

这个实时XML文件的问题是它们不包含结束标记,因此抛出“XML文档结构必须在同一实体内开始和结束”错误。当我点击我的数据采集程序中的“停止生成实时XML数据”按钮时。 xml_smf文件消失,最后使用结束标记更新xml文件。问题是我需要程序实时读取数据,而现场用户不必经常点击数据采集程序上的停止/启动按钮。

我的问题如下:

  1. 有没有人有XML_SMF文件的经验?关于它们可能用于什么的任何建议?

  2. 我是否可以在Matlab中应用,打开XML文件并附加正确的结束标记?

  3. 您对可以处理实时数据的工作流程有任何建议吗(在Matlab中)?我正在想象某种循环,其中每30秒左右重新处理一个更大的XML文件。

1 个答案:

答案 0 :(得分:0)

在文件为well-formed之前,它不是XML。如果它的唯一问题是根元素缺少关闭标记,只需将文件 作为文本 读取,并将其与缺少的结束标记一起写出来。 (希望您不必同时处理由另一个进程打开的文件。) 然后 将其读作XML。如果还有其他问题,请参阅How to parse invalid (bad / not well-formed) XML?