Меня долго интересовала тема преобразования HTML в XML. Без конвертирования такого рода парсить страницу можно только регулярными выражениями или еще хуже, какими-нибудь токенайзерами или даже методами для работы со строками. Эту задачу мне приходилось решать на разных языках. Когда дело дохло до C# я был во всеоружии.
Неожиданно для меня, гугл выдает далеко не лучшие решения для конвертации. Возможно, проблема в названии библиотеки, к которому я сам уже успел привыкнуть - SGMLReader.
Использовать 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();
}
Метки:C#, HTML, разработка
Похожие статьи
- 5 июня 2008 -- Сериализация Словаря (Dictionary) и XML CDATA. (0)
- 30 декабря 2008 -- Создаем ASHX хендлер в ASP.NET (0)
- 18 декабря 2008 -- Транслитерация RUS 2 LAT на C# (1)
- 22 августа 2008 -- Собственная страница для обработки ошибок на ASP.NET (0)
- 11 декабря 2008 -- Генерация Entity классов с помощью MSSQL. (1)



Ваше слово: