我需要解析來自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? –
聽起來你應該在更高級別的協議上工作,以便知道需要多少字節,並且可以清楚地區分文檔。這是你控制的協議嗎? –