Я пишу приложение, которое проверяет группу моих веб-страниц. Вместо того, чтобы брать весь исходный код страницы, я хотел бы взять все содержание и хранилище это и быть в состоянии сохранить страницу как простой текст в базе данных. Содержание будет использоваться в других приложениях и не чтении пользователями, таким образом, не будет никакой потребности в нем, чтобы быть совершенно человекочитаемой.
Сначала, я думал об использовании регулярных выражений, но я не имею никакого контроля над законностью веб-страниц и существует большой шанс, что никакое регулярное выражение не дало бы мне содержание.
Если у меня есть исходный код в строке, как я могу повернуть ту строку исходного кода в просто содержание в C#?
Это не на 100% ясно, что вы хотите, но я предполагаю, что вы хотите, чтобы вы хотели, чтобы вы хотели, чтобы вы хотели, чтобы текст минус разметки; Так:
string html;
// obtain some arbitrary html....
using (var client = new WebClient()) {
html = client.DownloadString("http://stackoverflow.com/questions/2038104");
}
// use the html agility pack: http://www.codeplex.com/htmlagilitypack
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
StringBuilder sb = new StringBuilder();
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes("//text()")) {
sb.AppendLine(node.Text);
}
string final = sb.ToString();
Пожалуйста, сделайте не Parse Html самостоятельно! Вы не можете использовать только стандартное регулярное выражение для анализа HTML - это невозможно.
Есть тонны бесплатных библиотек. Один из лучших свободных в мире в мире .NET - это HTML Agily Pack .
Pack Agility HTML поддерживает неработавшие документы, что и что-то, что регулярное выражение или другие базовые анализа, такие как XML, почти никогда не будут делать.