public HtmlElement QuerySelector(QuerySelectorPatterns patts) { //eval child node if (ChildrenCount < 1) { return(null); } //---------- foreach (DomNode childnode in this.GetChildNodeIterForward()) { if (childnode.NodeKind == HtmlNodeKind.OpenElement) { HtmlElement htmlElem = (HtmlElement)childnode; if (!patts.Evaluate((HtmlElement)childnode)) { //not found HtmlElement found = ((HtmlElement)childnode).QuerySelector(patts); if (found != null) { return(found); } } else { //found return((HtmlElement)childnode); } } } return(null); }
static void QuerySelectAll(HtmlElement elem, QuerySelectorPatterns patts, HtmlNodeList nodelist) { if (elem.ChildrenCount < 1) { return; } //---------- foreach (DomNode childnode in elem.GetChildNodeIterForward()) { if (childnode.NodeKind == HtmlNodeKind.OpenElement) { HtmlElement htmlElem = (HtmlElement)childnode; if (patts.Evaluate((HtmlElement)childnode)) { //found nodelist.AddSelectedItem(htmlElem); } QuerySelectAll(htmlElem, patts, nodelist); } } }