今天在处理用户信息的问题,查找到这样一个错误,将如下所示的xml文件读入dataset的时候,因为ussername中含有非法字符导致xml读入dataset抛出异常。异常信息如下:“\a”(十六进制值 0x07)是无效的字符。 行 1,位置 139。XML文件是其他部门提供的接口,没法改动,请问大家如何通过程序解决这个问题啊?dataset读取xml采用的是:ds.ReadXml(source);
<user>
<username>ǐē菓w</username>
<province>天津</province>
<city>天津</city>
...........
<user>
<user>
<username>ǐē菓w</username>
<province>天津</province>
<city>天津</city>
...........
<user>
{
string chengj = null;//成绩数据
try
{
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
Byte[] pageData = MyWebClient.DownloadData(TbWebAddress.Text);//从指定网站下载数据
chengj = Encoding.Default.GetString(pageData); //如果获取网站页面采用的是GB2312,则使用这句
Stream myStream;
SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = saveFileDialog1.OpenFile()) != null)
{
using (StreamWriter sw = new StreamWriter(myStream, Encoding.Default))
{
sw.Write(chengj);
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}