@Override public List<Selectable> nodes() { List<Selectable> selectables = new ArrayList<Selectable>(); for (Element element : getElements()) { List<Element> childElements = new ArrayList<Element>(1); childElements.add(element); selectables.add(new HtmlNode(childElements)); } return selectables; }
/** * select elements * * @param elementSelector elementSelector * @return result */ protected Selectable selectElements(BaseElementSelector elementSelector) { ListIterator<Element> elementIterator = getElements().listIterator(); if (!elementSelector.hasAttribute()) { List<Element> resultElements = new ArrayList<Element>(); while (elementIterator.hasNext()) { Element element = checkElementAndConvert(elementIterator); List<Element> selectElements = elementSelector.selectElements(element); resultElements.addAll(selectElements); } return new HtmlNode(resultElements); } else { // has attribute, consider as plaintext List<String> resultStrings = new ArrayList<String>(); while (elementIterator.hasNext()) { Element element = checkElementAndConvert(elementIterator); List<String> selectList = elementSelector.selectList(element); resultStrings.addAll(selectList); } return new PlainText(resultStrings); } }
@Override public List<Selectable> nodes() { List<Selectable> selectables = new ArrayList<Selectable>(); for (Element element : getElements()) { List<Element> childElements = new ArrayList<Element>(1); childElements.add(element); selectables.add(new HtmlNode(childElements)); } return selectables; }
/** * select elements * * @param elementSelector elementSelector * @return result */ protected Selectable selectElements(BaseElementSelector elementSelector) { ListIterator<Element> elementIterator = getElements().listIterator(); if (!elementSelector.hasAttribute()) { List<Element> resultElements = new ArrayList<Element>(); while (elementIterator.hasNext()) { Element element = checkElementAndConvert(elementIterator); List<Element> selectElements = elementSelector.selectElements(element); resultElements.addAll(selectElements); } return new HtmlNode(resultElements); } else { // has attribute, consider as plaintext List<String> resultStrings = new ArrayList<String>(); while (elementIterator.hasNext()) { Element element = checkElementAndConvert(elementIterator); List<String> selectList = elementSelector.selectList(element); resultStrings.addAll(selectList); } return new PlainText(resultStrings); } }