Получить только текст из HTML с гибкостью HTML - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь удалить из html все, что касается html, с помощью html agility, но мне нужно сохранить текст. Например, из этого тега:

<TR><TD> 
<B><A HREF="survival/index.html">Survival</A></B><BR> 
<I>Be Suspicious, Be Worried, Be Prepared</I><BR> 
<TD> 

Я хочу оставить только "Будьте подозрительны ..."

У меня есть этот метод, но он не очень хорошо работает:

    private static HtmlDocument RemoveHTML(HtmlDocument document)
    {
        HtmlDocument textOfDoc = new HtmlDocument();
        foreach (var node in document.DocumentNode.SelectNodes(".//p|.//title|.//body"))
        {
            var newNode = HtmlNode.CreateNode(node.InnerText+" ");
            textOfDoc.DocumentNode.AppendChild(newNode);
        }
        return textOfDoc;
    }

СПАСИБО!

1 Ответ

0 голосов
/ 28 января 2011

Похоже, вы извлекаете только теги P, TITLE и BODY.Если вы хотите, чтобы я также помечал теги, вам нужно сделать следующее:

document.DocumentNode.SelectNodes(".//p|.//title|.//body|.//i")
...