конеченая цель - xmpp клиент. вот я думаю - как лучше обрабатывать сообщения. на мой взгляд, наиболее оптимально считывать ответы от сервера небольшими кусками, передавать куски парсеру, который из них будет строить дерево xml нодов. как только самый первый тэг закончился - передавать дерево на дальнейшую обработку. здесь 2 проблемы: 1. не получится рекурсивно разбирать тэги - нужно за один проход строить дерево и запоминать текущее состояние. 2. не совсем понятно что делать с тегами, типа: Код (Text): <stream:stream to='jabber.ru' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ru' version='1.0'> который, вообще говоря, не соответствуют спецификации xml, и не понятно как учить парсер работать с ним. создавать список `особенных имён`, у которых нет конечного тэга?