忽略XmlReader中的命名空间

时间:2011-10-03 14:27:47

标签: c# xml xmlreader

我正在使用xmlreader来读取xml文件。问题是我在子元素中有许多未定义的命名空间。因此,我无法读取文件的内容。有没有办法阅读文件的内容避免这个问题,还是有任何解决方案来处理这种情况?

1 个答案:

答案 0 :(得分:1)

您可以像这样将缺少的命名空间添加到XmlReader。

var settings = new XmlReaderSettings
{
    NameTable = new NameTable(),
};
XmlNamespaceManager xmlns = new XmlNamespaceManager(settings.NameTable);
xmlns.AddNamespace("yourundeclarednamespace", "http://www.dummynamespace.org");
XmlParserContext context = new XmlParserContext(null, xmlns, "", XmlSpace.Default);
using (var reader = XmlReader.Create(filePath, settings, context))
{
}