将XmlTextReader移植到具有相同行为的XmlReader

时间:2011-09-26 07:36:30

标签: c# xml silverlight

我希望将完整.NET Framework的一些C#代码作为目标移植到与Silverlight兼容的代码中。

我遇到的一个问题是,在原始代码中,使用了XmlTextReader的实例:

var xmlReader = new XmlTextReader(streamReader) {
    WhitespaceHandling = WhitespaceHandling.None,
    xmlResolver = null
};

但是,在Silverlight中,只有XmlReader可用。因此,我想知道如何从原始XmlTextReader转换。

XmlTextReader的文档中,声明

  

在.NET Framework 2.0版中,建议的做法是使用XmlReader.Create方法创建XmlReader实例。这使您可以充分利用此版本中引入的新功能。有关更多信息,请参阅创建XML读者。

这支持了端口应该可行的理论。

XmlReader的初始化如何处理与上述XmlTextReader实例完全相同的 的XML文件?

var settings = new XmlReaderSettings {
    ...
}
var xmlReader = XmlReader.Create(streamReader, settings);

1 个答案:

答案 0 :(得分:2)

不可能完全复制这个。 Silverlight XmlReader不支持忽略重要空格。因此,这很接近: -

 var settings = new XmlReaderSettings { IgnoreWhitespace = true, XmlResolver = null };

我认为你应该顺其自然,看看会发生什么。