public boolean satisfy(TagNode tagNode) { if (!isBrNode(tagNode)) { return false; } TagNode parent = tagNode.getParent(); List children = parent.getAllChildren(); int brIndex = children.indexOf(tagNode); return checkSublist(0, brIndex, children) || checkSublist (brIndex, children.size(), children); }
/** * For the specified tag node, defines it's html content. This causes cleaner to * reclean given html portion and insert it inside the node instead of previous content. * @param node * @param content */ public void setInnerHtml(TagNode node, String content) { if (node != null) { String nodeName = node.getName(); StringBuilder html = new StringBuilder(); html.append("<").append(nodeName).append(" " +MARKER_ATTRIBUTE +"=''>").append(content).append("</").append(nodeName).append(">"); TagNode parent = node.getParent(); while (parent != null) { String parentName = parent.getName(); html.insert(0, "<" + parentName + ">"); html.append("</").append(parentName).append(">"); parent = parent.getParent(); } TagNode innerRootNode = clean( html.toString() ); TagNode cleanedNode = innerRootNode.findElementHavingAttribute(MARKER_ATTRIBUTE, true); if (cleanedNode != null) { node.setChildren( cleanedNode.getAllChildren() ); } } } /**
/** * For the specified tag node, defines it's html content. This causes cleaner to * reclean given html portion and insert it inside the node instead of previous content. * * @param node * @param content */ public void setInnerHtml(TagNode node, String content) { if (node != null) { String nodeName = node.getName(); StringBuilder html = new StringBuilder(); html.append("<").append(nodeName).append(" " + MARKER_ATTRIBUTE + "=''>").append(content).append("</").append(nodeName).append(">"); TagNode parent = node.getParent(); while (parent != null) { String parentName = parent.getName(); html.insert(0, "<" + parentName + ">"); html.append("</").append(parentName).append(">"); parent = parent.getParent(); } TagNode innerRootNode = clean(html.toString()); TagNode cleanedNode = innerRootNode.findElementHavingAttribute(MARKER_ATTRIBUTE, true); if (cleanedNode != null) { node.setChildren(cleanedNode.getAllChildren()); } } }
public boolean satisfy(TagNode tagNode) { if (!isBrNode(tagNode)) { return false; } TagNode parent = tagNode.getParent(); List children = parent.getAllChildren(); int brIndex = children.indexOf(tagNode); return checkSublist(0, brIndex, children) || checkSublist(brIndex, children.size(), children); }
subnodes = singleton(node); } else if (isParent) { TagNode parent = node.getParent(); subnodes = parent != null ? singleton(parent) : new ArrayList(); } else {
subnodes = singleton(node); } else if (isParent) { TagNode parent = node.getParent(); subnodes = parent != null ? singleton(parent) : new ArrayList(); } else {
TagNode parent = tagNode.getParent(); if (parent != null) { parent.removeChild(tagNode);
while (iterator.hasNext()) { TagNode tagNode = iterator.next(); TagNode parent = tagNode.getParent(); if (parent != null) { parent.removeChild(tagNode);