2010年5月1日星期六

使用NTidy工具清理和规范HTML为XHTML

 

NTidy(http://sourceforge.net/projects/ntidy/)是一个用C++编写的供.NET使用的tidy api. 将NTidy.dll添加到项目引用,并添加

using NTidy; 后即可使用

TidyDocument tdoc = new TidyDocument();
tdoc.LoadConfig("tidy.cfg");
tdoc.SetCharEncoding("gb2312");
TidyStatus status = tdoc.LoadString(restext);
tdoc.CleanAndRepair();

XmlDocument xmldoc = new XmlDocument();
xmldoc.InnerXml = tdoc.Root.Value;

问题:没有考虑编码的问题,中文会被自动转换为类似#C2C8;这样的Unicode编码。

tidy.cfg工具可通过TidyGUI工具(http://pagesperso-orange.fr/ablavier/TidyGUI/)生成。

// HTML Tidy configuration file created by TidyGUI
new-inline-tags: o:p
char-encoding: utf-8
doctype: strict
tidy-mark: no
word-2000: yes
output-xml: yes
output-xhtml: yes
add-xml-decl: yes
assume-xml-procins: yes

参考资料:

http://jeebook.com/blog/?p=606

没有评论:

发表评论