Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
So I'm trying to wrap up this white paper I'm writing on consuming RSS in Windows Forms. I wrote a whole section on how to apply a custom XSLT transform to a feed, and display the resulting HTML in the WebBrowser. (I gave a less-complete version of a solution in an earlier blog post.) Then it hit me: "Jay, you fool - what if the RSS feed already has a stylesheet associated with it?"
Fortunately, factoring this into your logic is simple. You can use XmlDocument, SelectSingleNode(), and a rather funky-looking XPath command to test whether the feed has a stylesheet. If it does, you can pass it straight to the WebBrowser control for rendering, with no further processing required.
XmlDocument doc = new XmlDocument();
try
{
doc.Load("https://blogs.msdn.com/winformsue/rss.xml");
}
catch (Exception ex)
{
MessageBox.Show("Could not load XML file. Error: " + ex.Message);
return;
}
XmlProcessingInstruction node = (XmlProcessingInstruction)doc.SelectSingleNode("/processing-instruction(\"xml-stylesheet\")");
if (node != null)
{
webBrowser1.Url = new Uri("https://blogs.msdn.com/winformsue/rss.xml");
}
else
{
// Apply custom style.
}