title: Parsing a stream of continous XML documents
body: <p>I have a socket connection for an external system which accept commands and sends results in XML. Every command and result is a standalone XML document.</p>
  
  <p>Which Java parser (/combination) should i use to:</p>
  
  <ul>
  <li>parse the stream continuously without closing the connection (i know it's stupid, but i tried DOMParser in the past and it throws an exception when an another document root encountered on the stream which is perfectly understandable). I need something like: continously read the stream and when a document is fully received, do it's processing. I don't know how big the document is, so i need to leave to the parser to figure out the end of the document.</li>
  <li>deserialize every incoming document into bean instances (similary like XStream does)</li>
  <li>serialize command object to the output stream from annotated class instances (similarly like XStream does). I don't want to use two separate libraries for sending and receiving.</li>
  </ul>