简体   繁体   English

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

[英]How do I inject a string to NetworkStream so that it can be read via XmlReader.ReadAsync in C#?

I am reading XML data from the NetworkStream like follows. 我正在从NetworkStream读取XML数据,如下所示。

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

I would like to call stream.Inject("</stop>") so it can be read in the while loop above. 我想调用stream.Inject("</stop>")以便可以在上面的while循环中读取它。 I know I would have to write a wrapper class around Stream and implement the Inject method and override the ReadAsync method. 我知道我将不得不围绕Stream编写包装类,并实现Inject方法并重写ReadAsync方法。 However I have no idea how to achieve that. 但是我不知道如何实现这一目标。 Would someone show me how something like that is done (I just can't imagine where in my Inject method the additional string should be added)? 有人会告诉我如何完成此类操作(我无法想象应该在我的Inject方法中的何处添加附加字符串)?

NetworkStream is a Stream so that means you can write any chunk of data into it, including XML strings. NetworkStream是一个Stream,这意味着您可以向其中写入任何数据块,包括XML字符串。 Of course, you have to do some conversion like: 当然,您必须进行一些转换,例如:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何通过C#中的XmlReader的ReadAsync从NetworkStream解析XML? - How do I parse XML from NetworkStream via ReadAsync of XmlReader in C#? TcpClient的;的NetworkStream; ReadAsync; C# - TcpClient; NetworkStream; ReadAsync; C# 你如何使用C#NetworkStream ReadAsync()来获取stx和etx之间的东西? - How do you use C# NetworkStream ReadAsync() to only grab stuff between stx and etx? 如何在C#中使用XMLREADER从XML字符串中读取特定元素 - How can I read specific elements from XML string using XMLREADER in C# C# 字符串通过网络流发送后,可以读取但不能与“if”一起使用 - C# After string is sent via Networkstream, it can be read but doesn't work with "if" NetworkStream ReadAsync和Read以相同的方法 - NetworkStream ReadAsync and Read in the same method C#中的套接字,我如何通过NetworkStream异步读取和写入数据 - Sockets in C#, how can I asynchronously read and write data through a NetworkStream 如何让XmlReader读取C#中的XML数据 - How can I get XmlReader to read my XML data in C# WriteLineAsync 或 ReadAsync 无法读取 TCP Communicator C# 的字符串 - WriteLineAsync or ReadAsync unable to read string for TCP Communicator C# C# XmlReader 无法将“&lt;”读作 InnerXmlText - C# XmlReader can't read "<" as InnerXmlText
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM