First of all, please see my comment to the question.
The direct answer is: if you want to parse HTML, the best way to do it would be applied if you have HTML well-formed as XHTML, that is, XML. Then you can use one of the many available parsers. This is my short overview of what you could use with .NET FCL:
- Use
System.Xml.XmlDocument
class. It implements DOM interface; this way is the easiest and good enough if the size if the document is not too big.
See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx. - Use the class
System.Xml.XmlTextReader
; this is the fastest way of reading, especially is you need to skip some data.
See http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx. - Use the class
System.Xml.Linq.XDocument
; this is the most adequate way similar to that of XmlDocument
, supporting LINQ to XML Programming.
See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx, http://msdn.microsoft.com/en-us/library/bb387063.aspx.
If you don't have so well-formed HTML, you would need to use some other parser. Your could try this one, just for one example:
http://www.majestic12.co.uk/projects/html_parser.php.
But I have a more interesting suggestion for you.
You see, I once realized that PowerPoint is a pretty bad thing. And one nice day I saw an article explaining why people using PowerPoint typically produce extremely non-informative presentation. The author of the article (sorry, I cannot file a link at this time) even expressed the opinion that this product was designed to please some specific kind of presenters, creator of business presentations who have really nothing to tell people, but who wants just to create an impression of some serious content, some vision, and so on, showing nothing essential at all. It confirmed my own impression, so I avoided to use PowerPoint completely in my own presentations.
So, here is my alternative idea: you can create HTML (+JavaScript) presentation based on your available HTML content. You can create several frames as different HTML pages; you only need to add some controls like
<-,>
and menu, or alternatively, you can use just the browser navigation, to save some screen space. You can even make it all using one HTML page, changing content (say, just the CSS property
visibility
) using JavaScript.
Moreover, for flexibility and perfect graphics quality, you can completely discard all pixel graphics (bitmaps) and switch to vector graphics. Or you can combine vector graphics with bitmaps. What do you have for vector graphics? Or, more than enough, but both options are related to
HTML5.
First, you can use SVG embedded in HTML, and you can have the images scaled automatically according to your actual inner windows size. Please see:
http://en.wikipedia.org/wiki/Scalable_Vector_Graphics.
Moreover, you can use SVG animation:
https://css-tricks.com/guide-svg-animations-smil.
Another technology offering you both vector graphics and animation is HTML5 Canvas:
http://en.wikipedia.org/wiki/Canvas_element.
With Canvas, you can achieve both rendering and animation using JavaScript. It can give you full freedom in the design of your application and its interactive control; those stupid and ugly PowerPoint cannot match 0.001% of Canvas capabilities (which are also really easy to use). For example, one can illustrate some real production processes, physical phenomena, business processes and a lot more.
This way, you could reuse your existing HTML code and create much better presentations.
[EDIT]
In addition to all of the above: you can run your HTML+JavaScript presentation on much wider range of systems than PowerPoint. You can even use a smartphone connected to a projector (keeping that smartphone in your hands during all presentation). You can even use a stupid smart TV with memory card and embedded browser, without any "real" computer…
—SA