我想,如果你的数据中包含有<、>、&等符号,恐怕就会出这个问题。有时候一些奇怪的空白符也会引起这个问题。我在SQL Server的Northwind上作XML查询时遇到过这样的问题。最好对数据编码一下。网上有一些工具,不过好像收费。.net中自带的我还没有找到。所以在我的程序中走了个弯路,自己作了个toMIMEString方法,对数据库中的字符串字段进行格式处理,代码如下:
private string ToMIMEString(string s)
{
StringBuilder sb = new StringBuilder();
char[] source = s.ToCharArray();
foreach(char c in source)
{
if(c=='<')
sb.Append("<");
else if(c=='&')
sb.Append("&");
else if(c=='>')
sb.Append(">");
else if(c=='"')
sb.Append(""");
else
sb.Append(c);
}
return sb.ToString();
}
private string ToMIMEString(string s)
{
StringBuilder sb = new StringBuilder();
char[] source = s.ToCharArray();
foreach(char c in source)
{
if(c=='<')
sb.Append("<");
else if(c=='&')
sb.Append("&");
else if(c=='>')
sb.Append(">");
else if(c=='"')
sb.Append(""");
else
sb.Append(c);
}
return sb.ToString();
}