我将xml文件参数化为数据集。如果xml数据包含“&”或某些特殊字符,我将报错,如何将其删除?

如何从下面的标签中删除“&”?

XML文件

 < department departmentid=1 name="pen & Note" >


$


string departmentpath = HostingEnvironment.MapPath("~/App_Data/Department.xml"); DataSet departmentDS = new DataSet(); System.IO.FileStream dpReadXml = new System.IO.FileStream(departmentpath, System.IO.FileMode.Open); try { departmentDS.ReadXml(dpReadXml); } catch (Exception ex) { //logg }

最佳答案

该代码似乎是C#。但是,请添加正确的语言标签!

XML文档中经常需要转义五个特殊字符。您可以阅读this SO问题。

有两种可能性:


让您的DataSet::ReadXML方法处理这些特殊字符[推荐]
更改输入文件中的所有特殊字符[不推荐]


不建议使用第二种方法,因为您可能无法始终控制传入的数据(如果愿意,您可能会浪费时间对其进行预处理)。为了使ReadXML正确解析特殊字符,您还需要在输入XML中定义适当的编码。

07-27 14:03