【问题标题】:split string into more xml documents将字符串拆分为更多的 xml 文档
【发布时间】:2011-06-24 19:40:22
【问题描述】:

我有一个使用 xml 文档进行通信的 C# 客户端服务器应用程序。

服务器一个接一个地向客户端发送更多的xml文档。在客户端中,我从套接字读取作为缓冲区。问题是客户端碰巧一次读取了更多的xml文档。

例如,它碰巧像这样读取整个字符串:

<result>failed</result><other>more information</other>

如何将字符串拆分成我需要的两个xml文档:

<result>failed</result>

<other>more information</other>

?

【问题讨论】:

    标签: c# xml parsing split client-server


    【解决方案1】:

    最简单的方法可能就是添加一个包装器:

    string xml = "<wrapper>" + originalText + "</wrapper>";
    

    然后您可以将整个内容读入XDocument(或其他任何内容)并在包装器下找到各个元素。

    可能有更智能的方法可以做到这一点 - 请参阅 this MSDN article for example - 但如果它适合你,这可能是我会采取的方法,只是因为它非常容易.

    请注意,如果您需要能够在不阅读全部的情况下阅读部分文本,使用XmlReader 可能是更好的解决方案 - 我的方法需要您阅读整个内容首先变成一个字符串。如果没有您使用的网络协议的更多详细信息,很难判断这是否合适。

    【讨论】:

      猜你喜欢
      • 2016-02-03
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多