- Хроники. - -
Исправляем HTML для чтения как XML.
Posted By Ikutsin On 8 июля 2008 @ 15:17 In .NET C# | Comments Disabled
Меня долго интересовала тема преобразования HTML в XML. Без конвертирования такого рода парсить страницу можно только регулярными выражениями или еще хуже, какими-нибудь токенайзерами или даже методами для работы со строками. Эту задачу мне приходилось решать на разных языках. Когда дело дохло до C# я был во всеоружии.
Неожиданно для меня, гугл выдает далеко не лучшие решения для конвертации. Возможно, проблема в названии библиотеки, к которому я сам уже успел привыкнуть — SGMLReader [1].
Использовать SGMLReader можно следующим образом:
public string Convert(string content) {
SgmlReader reader = new SgmlReader();
reader.DocType = «html»;StringReader sr = new System.IO.StringReader(content);
reader.InputStream = sr;
StringWriter sw = new StringWriter();
XmlTextWriter w = new XmlTextWriter(sw);
w.Indentation = 4;
w.IndentChar = ‘\t‘;
w.Formatting = Formatting.Indented;
reader.Read();
while (!reader.EOF)
{
w.WriteNode(reader, true);
}
w.Flush();
w.Close();
return sw.ToString();
}
Article printed from Хроники.:
URL to article: /132-ispravlyaem-html-dlya-chteniya-kak-xml
URLs in this post:
[1] SGMLReader: http://sourceforge.net/project/showfiles.php?group_id=173074&package_id=246977
Click here to print.
Copyright © 2008 Все, что меня окружает. All rights reserved.