Rob*_*ini 2 .net c# linq syndicationfeed
我正在尝试从本地存储的XML数据重新创建SyndicationFeed对象(System.ServiceModel.Syndication).
如果我使用XMLDocument,这将很容易.我会调用LoadXml(字符串).
SyndicationFeed只会从XMLReader加载.XMLReader只接受Stream或其他XMLReader或TextReader.
由于XMLDocument将加载一个字符串,我试图按如下方式(以扩展方法的形式)执行此操作:
public static SyndicationFeed ToSyndicationFeed(this XmlDocument document)
{
Stream thestream = Stream.Null;
XmlWriter thewriter = XmlWriter.Create(thestream);
document.WriteTo(thewriter);
thewriter.Flush();
XmlReader thereader = XmlReader.Create(thestream);
SyndicationFeed thefeed = SyndicationFeed.Load(thereader);
return thefeed;
}
Run Code Online (Sandbox Code Playgroud)
我不能让这个工作.即使XMLDocument填充了要加载到SyndicationFeed中的Feed,Stream也始终为空.
您可以提供任何帮助或指示将是最有帮助的.
谢谢,罗伯托
由于StringReader扩展了TextReader,因此应该可以:
TextReader tr = new StringReader(xmlString);
XmlReader xmlReader = XmlReader.Create(tr);
SyndicationFeed feed = SyndicationFeed.Load(xmlReader);
Run Code Online (Sandbox Code Playgroud)