十分钟内学会:将HTML格式化为合法的XML
Question在网站中需要引入来自外部的HTML,这是很正常的事情。例如允许用户采用HTML直接发表时,或者聚合外部的Feed时,这时候外部的 HTML就直接嵌入到我们的代码中。如果我们的网站是设计为符合XHTML的,那就可能因为引入外部HTML而破坏掉XHTML的合法性,甚至连合法的 XML都做不到。这时候我们就需要将外部的HTML格式化为合法的XML,以方便我们的处理。Answer要将HTML转换为XML,最简单的做法就是利用SgmlReader了。你需要做的仅仅是去GotDotNet下载SgmlReader,然后复制我这段代码:使用SgmlReader将HTML转换为合法的XML,就那么简单。
接着解释一下那段代码,它用到的SgmlReader,一个继承自XmlReader的类,并且在资源中内置了一个HTML.DTD。创建一个 SgmlReader的实例,并且指定它使用的DocType是"HTML",那么它就知道这是指它内置的HTML.DTD。当然如果你不喜欢用这个 DTD,你可以指定外部的其它DTD给它。接下来所做的事情,就是将它的读取放入一个XmlDocument中,然后再利用一个 XmlTextWriter将XmlDocument写出来。如果你需要的结果是一个XmlDocument,那么最后一步就可以省略了。
详细的请看这里:http://www.netcsharp.cn/showtopic-116.aspx
补充:.NET技术 , C#