В одном из моих приложений у меня есть шаблон HTML, сохраненный в файле HTML. Я загружаю его и заменяю маркеры некоторых узлов значениями. В этих случаях я использую .NET XMLDocuments, и он отлично работает. По крайней мере, в этой контролируемой среде. Я не знаю, что произойдет, если я попытаюсь разобрать искаженный HTML.
Это пример моего кода:
Dim S as String = System.IO.File.ReadAllText("Mytemplate.html")
Dim dXML As New System.Xml.XmlDocument
dXML.LoadXml(S)
Dim N As System.Xml.XmlNode
N = dXML.SelectSingleNode("descendant::NodeToFind")
N.InnerText = "Text inside the node"
Как я уже сказал, это прекрасно работает, но если вы хотите сделать что-то более специфичное для HTML, я думаю, было бы неплохо использовать пакет гибкости HTML.