//代码如下:
XmlTextWriter configWriter;
configWriter = new XmlTextWriter (UserFilePath,System.Text.Encoding.GetEncoding("GB2312"));
configWriter.Formatting = Formatting.Indented;
configWriter.WriteStartDocument();
configWriter.WriteStartElement("Users");
for (int i=0;i<5;i++)
{
configWriter.WriteStartElement("User");
configWriter.WriteAttributeString("PictureID",PictureID[i]);
configWriter.WriteAttributeString("GroupName",Groups[i]);
configWriter.WriteAttributeString("LoginName",LoginNames[i]);
configWriter.WriteString(Users[i]);
configWriter.WriteEndElement();
}
configWriter.WriteEndElement();
configWriter.Flush();
configWriter.Close();但我认为不像是代码的问题,因为并不是总是出错的。

解决方案 »

  1.   

    StreamReader sr;
    try
    {
    sr=new StreamReader(Application.StartupPath+"\\ddd.xml",Encoding.GetEncoding("gb2312"));

    ds.ReadXml(sr,XmlReadMode.Auto);
    num=ds.Tables[0].Rows.Count;
    sr.Close();
    }
    catch
    {
    //MessageBox.Show(ex.Message);
    return;
    }
      

  2.   

    可能是你的xml文本里有繁体字等不属于GB2312的字,你改成utf-8试试呢!
      

  3.   

    (UserFilePath,System.Text.Encoding.GetEncoding("GB2312"));
    可能是这一句,
    看看你的XML文件定义的时候的编码是什么,默认好像是utf-8
      

  4.   

    (UserFilePath,System.Text.Encoding.GetEncoding("GB2312"));
    可能是这一句,
    看看你的XML文件定义的时候的编码是什么,默认好像是utf-8同 mobydick(敌伯威|我排著队拿著爱的号码牌) ( )
      

  5.   

    把这句加上应该就好了。
    <?xml version="1.0" encoding="gb2312"?>
      

  6.   

    configWriter = new XmlTextWriter (UserFilePath,System.Text.Encoding.Default;