【问题标题】:Ignoring namespace in XmlReader忽略 XmlReader 中的命名空间
【发布时间】:2011-10-03 14:27:46
【问题描述】:

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

【问题讨论】:

  • 你能发一个小的 XML sn-p 来显示你的问题吗?
  • 它们未定义是什么意思?如果给定的命名空间前缀确实没有命名空间声明,那么你有垃圾,而不是 XML。
  • 在某种意义上未定义,它们没有在根元素中定义,但已在其后代中使用
  • 投票结束:到目前为止,问题中没有解释/显示任何问题 - 提供示例 XML、代码、错误和预期行为。

标签: c# xml xmlreader


【解决方案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))
{
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2015-02-18
    • 2015-05-01
    • 2014-04-10
    • 1970-01-01
    相关资源
    最近更新 更多