我有一个程序,它从数据库中的数据生成Xml文件.在简短的代码中,它执行以下操作:
string dsn = "a db connection string";
XmlDocument d = new XmlDocument();
using (SqlConnection con = new SqlConnection(dsn)) {
con.Open();
string sql = "select id as Id, comment as Comment from Test where ... ";
using (SqlCommand cmd = new SqlCommand(sql, con)) {
DataSet ds = new DataSet("EXPORT");
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds, "Test");
d.LoadXml(ds.GetXml());
}
}
d.Save(@"c:\test.xml");
Run Code Online (Sandbox Code Playgroud)
当我查看xml文件时,它包含无效字符 1 A;
<EXPORT>
<Test>
<Id>2</Id>
<Comment> Keyboard NB5 linked</Comment>
</Test>
</EXPORT>
Run Code Online (Sandbox Code Playgroud)
firefox浏览器无法打开此xml文件,说无效字符...
该实体在ISO 8859-1和CP1252中保留,不应由浏览器呈现.但是为什么XmlDocument输出的xml无法被解析为有效 - 或者它是一个有效的xml文档,它无法被浏览器解析或由Excel导入等等......是否有一种简单的方法可以摆脱那个保留的'无效字符'或以浏览器没有问题的方式编码它们?
非常感谢你的意见和tipps