我将xml文件寄到数据集。如果xml数据包含“&”,则会收到错误或者一些特殊的char如何删除?
如何删除“&”从下面的标签?
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
}
答案 0 :(得分:2)
您可以将其替换为&
答案 1 :(得分:2)
XML的文化是创建XML的人负责提供符合规范的格式良好的XML;如果收件人弄错了,他们会拒绝收件人。因此,通过尝试修复错误的XML并将其转换为良好的XML,您就会反对这种情况。这就像在餐馆里吃不好的食物一样:你应该抱怨,而不是向下桌的人询问如何让它变得易于消化。
你提供的输入比“&”更加错误。根本不可能将它识别为XML。你永远不会把这个混乱变成一个强大的数据流。
答案 2 :(得分:1)
代码似乎是C#。但是请添加正确的语言标签!
有五个特殊字符经常需要在XML文档中转义。你可以阅读this SO问题。
有两种可能性:
DataSet::ReadXML
方法处理这些特殊字符 [推荐] 不建议使用第二种方法,因为您可能无法始终控制传入的数据(如果您愿意,可能会浪费时间预处理它们)。为了使ReadXML
能够正确解析特殊字符,您还需要在输入XML中定义正确的编码。