如何解析XMPP?

How to parse XMPP?

有人知道如何在 C# 中以正确的方式解析 XMPP 流吗? 我在 XMPP 中遇到格式错误的 XML 问题,因为你没有得到 </stream> 标记,直到流(连接)结束以及如何处理命名空间?

谢谢!

是的,当为 XMPP 使用标准 TCP 传输时,您没有正确的“框架”。 XMLReader.ReadSubTree() 救援!基本上:

  1. 创建 XMLReader 实例并执行 MoveToContent
  2. ReadXMLReader.NodeType != XmlNodeType.Element
  3. ReadSubtree 并使用新创建的 XMLReader 作为整个下一个 XML 元素,例如您可以使用 XML 中的 XElement.Load 到 LINQ 并获得漂亮的 XElement 实例。

或者,您可以使用 Websocket XMPP transport,其中每个“帧”是 XMLNode/XElement,没有未关闭的打开流元素