由于未转义的字符,在读取XML文件时获取解析错误

时间:2012-09-16 18:16:11

标签: vb.net xml-parsing runtime-error html-escape-characters

我有一个XML文件,其中包含一些转义字符。当我试图在VB中使用xpathdocument类读取时,我正在解析为“The'<'字符,十六进制值0x3C,不能包含在名称中。行#,位置#。“

如何在将该xml文件传递给xpathdocument之前替换该转义字符? xml文件是:

      <classes>
      <class>Class&</class>
      <name>.net></name>
      </classes>  

2 个答案:

答案 0 :(得分:1)

如果不了解完整的背景,就无法回答你的问题。可能<有效,但<之前出现的内容是问题的根本原因。

最好的做法是返回到获取XML文件的位置并请求语法正确的替换。

W3C有一个XML Validator,它对于查找XML错误非常有用。

答案 1 :(得分:0)

我同意,最好的解决方案是获得一个合适的文件,但是,有时候这很困难。

我有一个客户,我必须首先将他们的XML文件作为文本文件逐行浏览,然后对转义符进行替换。只有这样我才把它加载到我的XML文档中。有效。 这不是理想的,如果XML文件很大或者会发生很大变化,会导致其他问题。 (如果有人出现在你身后,你需要维护你的代码。但它可能会有用。)希望这会有所帮助,但请记住,如果你这样做,如果你没有考虑到所有这些,你将面临运行时错误的风险您将在xml文件中遇到的场景。