尝试用Console.Out来构造XmlWriter象这样XmlWriter xw=XmlWriter.Create(Console.Out);//没问题
可是把写入结果直接,搞到控制台屏幕上,但是
MemoryStream ms=new MemoryStream();
XmlWriter xw=XmlWriter.Create(ms);//我同样写一些,比如xw.WriteStartElement("ss");xw.WriteString("22");xw.WriteEndElement();等ms.GetBuffer();没有东西,就是一个byte[]没有数据//-------------------请教怎么能够,让上面xw写的东西,写到ms中去.

解决方案 »

  1.   


    MemoryStream ms = new MemoryStream();
                FileStream fs = new FileStream("c:\\a.xml", FileMode.OpenOrCreate);
                XmlWriter xw = XmlWriter.Create(fs);
                xw.WriteStartElement("book");
                xw.WriteElementString("item", "tesing");
                xw.WriteEndElement();
                xw.Flush();
                xw.Close();
      

  2.   

    使用XmlWriter寫流時,不會馬上更新到流中,你需要調用Flush方法來立即更新。當然,如果你不用Flush的話,在你調用XmlWriter.Close方法時也會把改變的內容更新到流中。
    因此,你需要在ms.GetBuffer()之前調用XmlWriter的Flush方法