有多種方式可以在.NET 平台進行HTML檔案解析、資料提取,其中最簡單、穩妥的辦法是先使用工具将Html文檔整理成XML文檔,再通過XML Dom模型或XPath靈活地進行資料處理。SGML便是一個Html文檔整理工具類庫:
Microsoft的XML大師Chris Lovett專門開發了一個SGML解析器,叫做SgmlReader,它可以解析HTML檔案,甚至将它們轉換成一個格式規範的結構。 SgmlReader派生于XmlReader,這就是說,你可以像運用諸如XmlTextReader這樣的類來解析XML檔案那樣來解析HTML文 件。
這是一段示例代碼:
public static XmlDocument ConvertHtmlToXml(string html)
using (SgmlReader sgmlReader = new SgmlReader()) {
sgmlReader.DocType = "HTML";
sgmlReader.InputStream = new StringReader(html);
using (StringWriter stringWriter = new StringWriter()){
using (XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter))
{
while (!sgmlReader.EOF) {
xmlWriter.WriteNode(sgmlReader, true);
}
}
}
}
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(stringWriter.ToString());
return xmlDoc;
語言:英文 授權形式:開源
相關網址:
<a href="http://msdn.microsoft.com/en-us/library/aa302299.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/aa302299.aspx</a>
本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/p/3805124.html,如需轉載請自行聯系原作者