Example usage for org.jsoup.nodes Document getElementsMatchingOwnText

List of usage examples for org.jsoup.nodes Document getElementsMatchingOwnText

Introduction

In this page you can find the example usage for org.jsoup.nodes Document getElementsMatchingOwnText.

Prototype

public Elements getElementsMatchingOwnText(Pattern pattern) 

Source Link

Document

Find elements whose own text matches the supplied regular expression.

Usage

From source file:com.screenslicer.common.CommonUtil.java

public static String getNextSiblingTextByOwnText(Document doc, String text) {
    Elements elements = doc.getElementsMatchingOwnText(text);
    if (elements == null) {
        return null;
    }/*from  w w  w. j  av  a  2s  . co  m*/
    if (elements.isEmpty()) {
        return null;
    }
    Element sibling = elements.get(0).nextElementSibling();
    if (sibling != null) {
        return sibling.text();
    }
    return null;
}

From source file:com.screenslicer.common.CommonUtil.java

public static List<Element> getNextSiblingElementsByOwnText(Document doc, String text) {
    Elements elements = doc.getElementsMatchingOwnText(text);
    List<Element> siblings = new ArrayList<Element>();
    if (elements == null || elements.isEmpty()) {
        return siblings;
    }/* w w w.j a v  a  2 s.co m*/
    Element element = elements.get(0).nextElementSibling();
    while (element != null) {
        siblings.add(element);
        String tagName = element.tagName();
        element = element.nextElementSibling();
        if (element != null && !element.tagName().equalsIgnoreCase(tagName)) {
            break;
        }
    }
    return siblings;
}

From source file:com.screenslicer.common.CommonUtil.java

public static Element getElementMatchingText(Document doc, String tagName, String pattern, boolean ownText) {
    if (doc == null) {
        return null;
    }//from   w  w  w .j  ava2 s. co  m
    Elements elements = ownText ? doc.getElementsMatchingOwnText(pattern)
            : doc.getElementsMatchingText(pattern);
    for (Element element : elements) {
        if (element.tagName().equalsIgnoreCase(tagName)) {
            return element;
        }
    }
    return null;
}

From source file:org.talend.license.LicenseRetriver.java

public Collection<File> updateLicense(final String version, final File file) {
    logger.info("start to update {} license ", version);
    String url = String.format(Configer.getBuildURL() + Configer.getLicenseURL(), version);

    Document doc = connector.getPage(url);
    if (null == doc) {
        logger.error("no {} license page url:{}", version, url);
        return null;
    }/*from  w  w  w  .  ja  va 2s .c o m*/
    String regex = String.format(Configer.getLicenseItem(), version);

    Elements eles = doc.getElementsMatchingOwnText(regex);

    if (eles.isEmpty()) {
        logger.error("no {} license page url:{}", version, url);
        return null;
    }

    final Pattern pattern = Pattern.compile(regex);

    SortedSet<String> set = new TreeSet<String>(new Comparator<String>() {

        public int compare(String o1, String o2) {
            String m1;
            String m2;
            Matcher matcher = pattern.matcher(o1);
            if (matcher.find()) {
                m1 = matcher.group(2);
            } else {
                return 1;
            }
            matcher = pattern.matcher(o2);
            if (matcher.find()) {
                m2 = matcher.group(2);
            } else {
                return -1;
            }
            return m2.compareTo(m1);
        }
    });
    logger.info("there are {} license build", eles.size());
    for (Element ele : eles) {
        String text = ele.text();
        set.add(text);
    }
    if (set.isEmpty()) {
        return null;
    }

    Iterator<String> ite = set.iterator();
    while (ite.hasNext()) {
        String target = ite.next();
        url = url + target;
        logger.info("retrive from newest build {}", url);
        Collection<File> fs = checkout(version, file, url);
        if (!fs.isEmpty()) {
            return fs;
        }
        logger.info("no available license in build");
    }
    logger.error("retrive license failed");
    return null;
}

From source file:utils.AutoLinkRenderer.java

private AutoLinkRenderer parse(Pattern pattern, ToLink toLink) {
    Document doc = Jsoup.parse(body);

    Document.OutputSettings settings = doc.outputSettings();
    settings.prettyPrint(false);//from   ww  w.  ja va 2  s .co m

    Elements elements = doc.getElementsMatchingOwnText(pattern);

    for (Element el : elements) {
        if (isIgnoreElement(el)) {
            continue;
        }

        List<TextNode> textNodeList = el.textNodes();

        for (TextNode node : textNodeList) {
            String result = convertLink(node.toString(), pattern, toLink);
            node.text(StringUtils.EMPTY);
            node.after(result);
        }
    }

    this.body = doc.body().html();
    return this;
}