我有一个TCP连接,通过流向我发送XML消息。通过流解析不完整XML消息的最有效方法是什么?
我在<?xml version="1.0" encoding="utf-8"?>
消息中收到的第一条消息。
第二个是身份验证请求消息,它提供了一个种子,用于散列我的凭据以发送回服务器 - <session seed="VJAWKBJXJO">
。
在这一点上,我应该发回一个<session user="admin" password_hash="123456789">
消息来验证自己。
一旦通过身份验证,我将以<Msg>data</Msg>
的形式收到所需的数据。
如果我没有及时与服务器进行身份验证,我收到一条消息</session>
,表明会话已关闭。
问题是我不能使用DOM解析器,因为试图解析没有结束标签的<session>
标签总是会抛出错误,所以我试图使用Xerces-c SAX解析器来执行渐进式解析的XML。
当我收到每封邮件时,我想理想地将它附加到包含当前已收到的所有XML的MemBufInputSource
,然后在缓冲区上执行parseNext
以分析已收到的新XML,但无法弄清楚如何让它正常工作。
有没有更好的解决此问题的方法?也许只是使用<session></session>
消息的特例?
谢谢
当我试图解析''消息时,当它找不到' '结束标记时,我当前的实现一直在持续下降 –
2012-03-20 14:00:34