我有一个稍微糟糕的 XML,我试图在 .NET 中解析它。其他解析器可以使用相同的 XML 文件——也就是说,它们更能容忍用户错误。
XML 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document id="12345">
<name>My name</name>
<description>My Description</description>
<myns:author>
<myns:name>My Name</myns:name>
</myns:author>
</Document>
</kml>
我像这样加载它:
XmlDocument doc = new XmlDocument();
doc.Load(myFilePath);
第二行正确地抛出了一个异常:
'myns' is an undeclared prefix. Line 6, position 4.
从应用程序的角度来看,我们主要充当另一个应用程序的管道,该应用程序能够处理这个稍微错误的 XML 文件。我们不想拒绝这个第 3 方应用程序能够处理的 XML。
有没有办法禁用或修改 .NET XML 解析器的严格性?