Картинка блога

Меня долго интересовала тема преобразования 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();
}

Метки:, ,

5 комментариев в “Исправляем HTML для чтения как XML.”

  1. Спасибо!

  2. Незачто 🙂 Сейчас кстати думаю seo framework написать, requestBuilder-доступ к dom-парсер одна маленькая часть задумки.

  3. Привет )) ты мог бы дать свои контакты агент аська или еще что ?

  4. Со мной можно связатся через обратную форму контакта, на странице обо мне.

  5. Здравствуйте,помогите решить проблему с конвертированием html в xml очень нужно.Буду благодарен за любую помощь.