As html is a plain text, can be made with just a notepad, so you can make html with anything that can handle strings. Be aware, that html is not xml, and neither xhtml is always xml (lecture: https://www.webkit.org/blog/68/understanding-html-xml-and-xhtml/
]) - I suggest you treat it what it is.
So you either write the text on your own based on the standard specifications, or you can use a DOM modeler, like HTML Agility Pack
]. This one is more useful if you tray to parse an existing html or xhtml file, but it is also usefull if you want to create one.