Open an HTML Document with xml.Load

11,063

Normal html, even if it's valid html, is not valid xml.

There is a library called HtmlAgilityPack which is a popular 3rd party open source library that you can use to solve this problem:

Share:
11,063
Vincent S
Author by

Vincent S

Updated on June 16, 2022

Comments

  • Vincent S
    Vincent S almost 2 years

    I'd like to open an HTML document (as a string retrieved from a StreamReader, from the web), by creating a XMLDocument this way:

    XmlDocument doc = new XmlDocument
    
    doc.Load(string containing the retrieved document).
    

    But since the HTML doc contains this head:

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 
    

    It tells me that the document is invalid... Any way to workaround this?