XML Lite 解析问题 - 解析时忽略无效数据



我使用Microsoft (http://msdn.microsoft.com/en-us/library/windows/desktop/ms752872%28v=vs.85%29.aspx) 的 XML Lite

有没有办法忽略它可能做的任何验证错误(我在与"相关的节点上收到一些模糊的错误 - 尽管 XML 输入似乎很好)并继续下一个节点?

我有这样的阅读循环

while ( !reader->IsEOF())
{
        result = reader->Read(&nodeType);
        if (result != S_OK)
        {
            //just ignore cuurrent read and continue reading more from XML
            continue; // does not work
        }

XmlLite返回的错误代码是什么?无效字符?XmlLite 是一个符合 W3C 的 XML 解析器,这意味着它的设计使然,可以阻塞具有无效字符的无效 XML 文件,并且没有这样的功能可以忽略无效字符并继续前进。选项包括:

  1. 使用 XmlLite 或其他兼容的 XML 解析器生成 XML。这样,您就不会首先获得无效字符。
  2. 筛选掉无效字符(如果您可以控制源数据)。XmlLite 支持 XML 1.0,有效字符的范围为 #x9 |#xA |#xD |[#x20-#xD7FF] |[#xE000-#xFFFD] |[#x10000-#x10FFFF].

除此之外,XmlLite可能不是您的选择。

相关内容

  • 没有找到相关文章

最新更新