2012-01-03 27 views
0

我正在为Windows Phone 7制作一个xmpp聊天应用程序。解析通过Windows Phone 7中的TCP套接字来的xml内容

它通过流接收xmpp数据包。现在我需要解析通过套接字来的xml内容。

对于windows phone 7,我们没有像解析器那样位于流中并为我们提供数据包的SAX。

我们没有网络数据流,Windows Phone中可用的TCP客户端7.

\因为它的内容来通过我需要,我可以在飞行中写入数据流的数据包流。

我们有一个xmlreader,但如果我使用内存流不起作用。

我们是否有一个类似解析器的SAX它可以从套接字读取xml内容并解析xml内容?

请帮我解析来自套接字的xml内容。

+0

[在windows phone 7上使用tcp套接字解析xml内容]可能的重复(http://stackoverflow.com/questions/8700943/parsing-xml-content-on-windows-phone-7-using-tcp-sockets ) – 2012-01-03 07:48:56

+0

请编辑和改进您的问题,不要转贴。 – 2012-01-03 07:49:43

+0

@HenkHolterman:他们是不一样的,那里我谈论我的执行。我在问一个解析器,它可以解析XML内容。虽然他们是安静的类似。所以改善我的问题 – rakesh 2012-01-03 08:21:56

回答

0

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)工作正常。

+0

:为xmlreader工作需要喂内存流。然后给xmlReader.create()..其中xml内容通过动态套接字来,所以我需要将数据放在memoryStream上。 – rakesh 2012-01-03 07:42:37

+0

@rakesh:是不是每个xmpp数据包都是一个有效的XML元素(可能带有一些硬编码的包装)?如果是这样,我不明白你为什么需要以流媒体的方式解析。也许你可以提供更多关于你在问题中做什么的信息。 – 2012-01-03 07:49:22

+0

你是对的xmpp数据包是一个有效的XML,但是当数据来自socket的字节数组并且它可以被分段。并且我的xmpp服务器可以随时发送(xmpp节)xml内容,所以我不能确定它是否是正确的xml或不是。为什么我需要一个可以按元素解析元素的解析器。我有另一个线程,请看看它。 http://stackoverflow.com/questions/8700943/parsing-xml-content-on-windows-phone-7-using-tcp-sockets – rakesh 2012-01-03 07:57:39