我需要解析来自TCP/IP连接的标准XML结构。数据保存为字符串变量。这意味着在任何给定的时间里,我手上的数据都可能是不完整的(一个不完整的XML结构),或者是一个完整的XML结构(剩余不完整)(下一个XML结构的开始)。解析来自TCP/IP连接的XML字符串
大部分结构都没有“空”:
<Message>
<Param1 value = "val1"/>
<Param2 value = "val2"/>
</Message>
但也有“空”的:
<Message status="ack" />
因此,只要寻找</Message>
,使分裂没有好足够。
如何从下一个部分结构中分出完整的结构?除了为此创建自己的状态机并逐字节地检查外,是否有更简洁的解决方案?
也许这可以帮助:http://stackoverflow.com/questions/55828/how-does-one-parse-xml-files?rq=1 –
这里最大的问题是部分xml结构不是xml结构,它们是无效的标记。无论如何,你可以摆脱xml? –
听起来你应该在更高级别的协议上工作,以便知道需要多少字节,并且可以清楚地区分文档。这是你控制的协议吗? –