2

好的,所以我做了一些搜索,找到了关于如何通过 TCP 套接字正确构建传入 XML 数据的问题的答案,即要么发送带有预先指示大小的标头的 XML,要么使用定界转义序列。因为我基本上是在为一个非常旧的 C 服务器编写一个客户端,因此它与许多其他我不想修改的客户端进行通信,所以我选择了后者。以前我实际上是从流中剥离 '\n' 因为我不知道它的目的是什么。现在,当调用我的异步 OnDataReceived 方法时,我确实使用分隔符获得了一大块数据,这是从流中挑选并存储在字符串变量中的示例:

<?xml version=\"1.0\"?><message><type>SERVER</type><user>TestDeleteOrKillMe</user>                   <cmd>PRIVATE_MSG</cmd><host>65.255.81.81</host><msg>4111|3.16C (UNIX)|</msg></message>\n<?xml version=\"1.0\"?><message><type>SERVER</type><user>TestDeleteOrKillMe</user>    <cmd>PRIVATE_MSG</cmd><host>65.255.81.81</host><msg>4362|copyright 1993 by James D. Bennett|</msg></message>\n

我现在的问题是从单个 XML“语句”中提取字符串值的过程是什么?以便我可以将这些发送到我的 ParseMessage(string) 方法并开始处理它们?起初我在想可能有一些正则表达式可能从头开始,直到它找到第一个 \n 然后选择并删除所有以前的文本?在我开始一些可能过于复杂的方法之前,我想听听一些关于这个问题的常见(或不常见)做法的意见。非常感谢。

4

0 回答 0