繁体   English   中英

c#htmlagility根据内部文本选择特定的节点

[英]c# htmlagility Select specifics nodes depending on the innertext

我在div中有多个标签。 这些标签具有一个名称为“ Return”或“ Going”的类,例如:

<div>
    <label class="going"></label>
    <label class="going"></label>
    <label class="going"></label>
    <label class="going"></label>
    <label class="return"></label>
    <label class="return"></label>
    <label class="return"></label>
</div>

我想得到两个IEnumerable标签,一个going一个,一个return 就像是

var going = node.SelectNodes("label").Where(item => item.InnerHtml == "going");
var return= node.SelectNodes("label").Where(item => item.InnerHtml == "return");

您可能要使用此方法:

public static bool HasClass(this HtmlNode node, params string[] classValueArray)
{
    var classValue = node.GetAttributeValue("class", "");
    var classValues = classValue.Split(' ');
    return classValueArray.All(c => classValues.Contains(c));
}
//use it like this
doc.DocumentNode.Descendants("label").Where(_ => _.HasClass("going"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM