List of usage examples for org.jsoup.nodes Document getElementsMatchingOwnText
public Elements getElementsMatchingOwnText(Pattern pattern)
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; }