字符串连接 HTML 子节点的内部文本
本文关键字:内部 文本 子节点 连接 HTML 字符串 | 更新日期: 2023-09-27 18:31:53
我的HTML如下所示
<h4>
<span>Cat</span>
<span>Dog</span>
<a href="xxx" class="telcat">Potatoes</a>
</h4>
我正在尝试从上面生成以下字符串,它只是由逗号连接的子元素内部文本
Cat,Dog,Potatoes
我尝试了类似的东西
string x = String.Join(",", htmldoc.DocumentNode.SelectNodes("//h4").Elements().Select(el => el.InnerText).ToList());
但是我得到查找输出,我得到的字符串看起来像
,Cat,
,Dog,
,Potatoes,
这是因为 HTML 中存在没有文本的 TextNode。不过,修复这个问题相当容易,您只需要过滤空文本即可。
这样:
string x = String.Join(",", doc.DocumentNode
.SelectNodes("//h4").Elements()
.Select(el => el.InnerText)
.Where(text => !string.IsNullOrWhiteSpace(text)));
如果你想在整个页面上都有这样的东西,我在这里发布了类似的东西。