如何将一个字符串注入NetworkStream,以便可以通过C#中的XmlReader.ReadAsync读取它?

时间:2013-08-23 12:18:19

标签: c# network-programming

我正在阅读NetworkStream中的XML数据,如下所示。

using (XmlReader xmlReader = XmlReader.Create(stream, new XmlReaderSettings() { Async = true }))
{
    try
    {                    
         while (await xmlReader.ReadAsync())
         {
         ...

我想致电stream.Inject("</stop>"),以便可以在上面的while循环中阅读。我知道我必须围绕Stream编写一个包装器类并实现Inject方法并覆盖ReadAsync方法。但是我不知道如何实现这一目标。有人会告诉我这样的事情是如何完成的(我无法想象在我的Inject方法中应该添加额外的字符串吗?

1 个答案:

答案 0 :(得分:-1)

NetworkStream是一个Stream,这意味着您可以将任何数据块写入其中,包括XML字符串。当然,你必须做一些转换,如:

byte[] data = System.Text.Encoding.UTF8.GetBytes(longXmlString);
networkSteram.Write(data);