Asp.net 循环遍历XML文件中的所有字符并替换某些字符

Asp.net 循环遍历XML文件中的所有字符并替换某些字符,asp.net,.net,vb.net,excel,Asp.net,.net,Vb.net,Excel,在最终让我的XmlReader在工作中的项目上正常工作之后,我现在在尝试为某些XML文件创建新的Reader对象时遇到了某些解析错误。例如,不断出现的错误是试图解析连字符(-)时出错。这让我有点困惑,因为我手动进入并用其他字符(如下划线)替换该字符,即使文档中的其他地方有未更改的连字符,它的可读性也很好 因此,除非有解释来解决这个问题(可能是一些XmlReaderSettings?还没有使用过,所以我不知道它们能做什么),否则最好的语法/方法是什么来循环遍历每个字符并替换为正确解析的字符 该程序

在最终让我的XmlReader在工作中的项目上正常工作之后,我现在在尝试为某些XML文件创建新的Reader对象时遇到了某些解析错误。例如,不断出现的错误是试图解析连字符(-)时出错。这让我有点困惑,因为我手动进入并用其他字符(如下划线)替换该字符,即使文档中的其他地方有未更改的连字符,它的可读性也很好

因此,除非有解释来解决这个问题(可能是一些XmlReaderSettings?还没有使用过,所以我不知道它们能做什么),否则最好的语法/方法是什么来循环遍历每个字符并替换为正确解析的字符

该程序每天将在每日添加的XML上自动运行一次,运行时间长度不是问题

编辑:错误消息:

System.Xml.XmlException:分析EntityName时出错。第2896行,位置89

代码:


如果整个文件中只有一个连字符出现问题,即使该文件包含多个连字符,问题也可能与以下原因有关:

1) 连字符实际上不是连字符,而是控制字符,甚至可以由隐藏的控制字符完成


2) 这个链接还有其他有趣的东西,比如一个符号(&),它在字符串中可能会引起一些问题。你确定问题出在连字符上吗?

1440县道40号X-MAS LIGHT&RV#2 CAMP HILLError发生在X-MAS的“-”处非常奇怪。您能显示解析异常消息吗?通过编辑将信息放入问题中。好的,我编辑了它。位置89正好在X后面的连字符处。我不明白的是为什么文档中其他许多连字符没有得到相同的处理。行和字符位置对应于连字符,如上所示。删除该字符后,XMLReader工作正常-即使还有其他连字符如果问题与该特定连字符有关,正如我所说,问题可能与控制字符有关,而不是与连字符有关。尝试查看此连字符的ASCII代码,查看它是否在ASC(45)下。在同一个例程中有变量X吗?可以解释为“40-x”的东西?
            FN = Path.GetFileName(file1).ToString()
        xmlFile = XmlReader.Create(Path.Combine(My.Settings.Local_Meter_Path, FN), New XmlReaderSettings())
        ds.ReadXml(xmlFile)
        Dim dt As DataTable = ds.Tables(13)
        Dim filecreatedate As String = IO.File.GetLastWriteTime(file1)