Разбор XML-контента, поступающего через сокеты TCP в Windows Phone 7 - PullRequest
0 голосов
/ 03 января 2012

Я работаю над приложением чата xmpp для Windows Phone 7.

Он получает пакеты xmpp через поток.Теперь мне нужно проанализировать XML-контент, который поступает через сокеты.

Для Windows Phone 7 у нас нет SAX-подобного парсера, который сидит в потоке и предоставляет нам пакеты.

У нас нет сетевого потока, TCP-клиент доступен в Windows Phone 7.

\, потому что содержимое проходит через потоки в пакетах, мне нужен поток, в который я мог бы записывать данные на лету.

У нас есть xmlreader, но он не работает, если я использую поток памяти.

Есть ли у нас SAX-подобный синтаксический анализатор, который может считывать содержимое xml из сокета и анализировать содержимое xml?

Пожалуйста, помогите мне разобрать, как XML-контент поступает из сокетов.

1 Ответ

0 голосов
/ 03 января 2012

XmlReader должно работать абсолютно нормально на MemoryStream - но помните, что когда вы записали в поток, вам нужно «перемотать» его перед тем, как вы начнете читать с него:

var stream = new MemoryStream();
// Potentially several times...
stream.Write(...);

// Rewind to the start of the stream
stream.Position = 0;

// Now read from the stream

Обратите внимание, что вам не нужно явно использовать XmlReader - вызов XDocument.Load(Stream) работает нормально.

...