我将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中定义适当的编码。