好的,所以我做了一些搜索,发现我的问题的答案是关于如何通过我的TCP套接字正确构建我的传入XML数据,要么是先发送带有标题大小的XML,要么使用分隔转义序列。因为我基本上是为一个非常古老的C服务器编写一个客户端,因此与其他许多我不感兴趣的客户端进行通信,我选择了后者。以前我实际上是从流中剥离'\ n',因为我对它的目的一无所知。现在当调用我的异步OnDataReceived方法时,我确实用d elimiters获得了一大块数据,这里是从流中挑选的一个样本并存储在一个字符串变量中:
<?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(字符串)方法并开始处理它们?起初我想可能一些RegEx可能从一开始就开始,直到找到第一个\ n然后选择并删除所有以前的文本?在开始一些可能过于复杂的方法之前,我想听听关于这个问题的常见(或不常见)实践的一些意见。非常感谢。