直接用文本方式写入文件,记得前面带上 <?xml ...> 的标记。

解决方案 »

  1.   

    我不知道你全部的字符串是什么样的
    但是你给出的明显CDATA是不对的
    <tt Title="2007-09-26(0)" DocUpSign="tt" DocSign="tt" DocUpName="tt" Date="2007年9月26日" >
     <![CDATA[{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fswiss\fcharset0 Arial;}}
    {\colortbl ;\red255\green0\blue0;}
    \viewkind4\uc1\pard\lang2052\f0\fs20\'d4\'d0\'b2\'fa\'b9\'ac\'c4\'da\'c8\'d1\'c9\'ef \'d6\'dc\par
    \'d2\'d2\'b8\'ce\'b2\'a1\cf1\f1 aaa\cf0\f0\'b6\'be\'d0\'af\'b4\'f8\'d5\'df\par
    \'c6\'ea\'d1\'aa\'d1\'aa\'d0\'cd \'c6\'ea\'d1\'aa\'c8\'be\'c9\'ab\'cc\'e5\par
    }
    ]]></tt>
    用我这个试试
      

  2.   

    http://blog.csdn.net/JOHNCOOLS/archive/2006/06/15/800072.aspx
      

  3.   

    也就是用XmlTextWriter的WriteCData,记得调用Flush把缓冲器内的内容写入文件
      

  4.   

    回复lovefootball(蟑螂(生活就是扯淡--做人要放低姿态)) 那个地方是我贴错了。不是那个问题。我在环境中获得 的字符串在放记事本里在保存XML可以。
    但是我用如下代码写入。也是能写进去。但是XML打开出错。
     StreamWriter str = new StreamWriter(Application .StartupPath +@"\tt.xml");
                str.Write(XmlStr);
                str.Flush();
                str.Dispose();
      

  5.   

    你不是说用的XMLWRITER
    怎么是StreamWriter??
    把你的字符串帖全
    把你的代码帖全
      

  6.   

    try:String strXml = "你的xml字符串";
    StringReader sr = new StringReader(strXml);XmlDocument doc = new XmlDocument(sr);
    doc.Save(@"e:\1.xml");