質問: 私はHTML文書からテキストを取得する簡単な作業をしようとしています。だから私はそのためにHTMLdoc.DocumentNode.InnerTextを使用しています。問題は、いくつかのサイトでは、それらが異なるタグにあるときに単語の間にスペースを入れないということです。そのような場合、DocumentNode.InnerTextはそれらの単語を1つに結びつけ、無用になりました。 たとえば、その行を含むサイトを読み込もうとしています。 ``` Ä°stanbulAdana ``` 私は意味がありません "Å°stanbulAdana"を得ています。 HTMLAgilityPackのドキュメントやGoogleで解決策が見つかりませんでした 何か不足していますか? ありがとう、
回答: それはむしろ簡単に行うべきです。 ``` const string html = @"Ä°stanbulAdana"; var doc = new HtmlDocument(); doc.LoadHtml(html); string result = string.Join(" ", doc.DocumentNode.Descendants() .Where(n => !n.HasChildNodes && !string.IsNullOrWhiteSpace(n.InnerText)) .Select(n => n.InnerText)); Console.WriteLine(result); // prints "Ä°stanbul Adana" ```