我有一个程序从数据库中的数据中生成Xml文件。在短代码将执行以下操作: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");
当我看一下XML文件包含无效字符&#X 1 A;
<EXPORT>
<Test>
<Id>2</Id>
<Comment> Keyboard NB5 linked</Comment>
</Test>
</EXPORT>
此xml文件不能被Firefox浏览器说无效字符开...
该实体在ISO 8859-1和CP1252保留,不应该被浏览器呈现。但是,为什么不能被解析为有效的XmlDocument输出XML - 抑或是只是不能被浏览器解析或Excel中导入等等... 有没有摆脱那个保留“的一个简单的方法是有效的XML文档无效字符'或编码他们的方式,浏览器没有问题呢?
你的意见非常感谢和TIPPS
我已经有了与System.Data对象的各种XML方法完全相同的问题。我不确定这些方法会做什么。他们的选择是去除角色或抛出异常。 – 2011-11-15 14:56:20