Меня долго интересовала тема преобразования 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. (1)
- 31 августа 2009 -- CRUD на SQLite (5)
- 6 февраля 2009 -- Загрузка Flash в Windows.Forms и WPF. (2)
- 30 декабря 2008 -- Создаем ASHX хендлер в ASP.NET (1)
- 23 сентября 2011 -- Конфигурационные секции. Web.config и App.config для «C# продолжающих». (0)
14 декабря, 2010 at 16:52
Спасибо!
15 декабря, 2010 at 22:43
Незачто 🙂 Сейчас кстати думаю seo framework написать, requestBuilder-доступ к dom-парсер одна маленькая часть задумки.
17 февраля, 2012 at 9:20
Привет )) ты мог бы дать свои контакты агент аська или еще что ?
18 февраля, 2012 at 15:42
Со мной можно связатся через обратную форму контакта, на страницеобо мне .
18 августа, 2014 at 13:53
Здравствуйте,помогите решить проблему с конвертированием html в xml очень нужно.Буду благодарен за любую помощь.