Java Code Examples for org.dom4j.Element.remove()

The following are Jave code examples for showing how to use remove() of the org.dom4j.Element class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: joai-project   File: DocMap.java   View Source Code Vote up 6 votes
/**
 *  removes a node from the dom4j Document.
 *
 * @param  xpath  Description of the Parameter
 */
public void remove(String xpath) {
	Node node = doc.selectSingleNode(xpath);
	if (node == null) {
		// prtln("remove could not find node to delete (" + xpath + ")");
		return;
	}

	Element parent = node.getParent();
	if (parent == null) {
		// prtln("remove could not find parent of node to delete (" + xpath + ")");
		return;
	}
	if (!parent.remove(node)) {
		prtlnErr("failed to remove node at " + xpath);
	}
}
 
Example 2
Project: PackagePlugin   File: FileUtil.java   View Source Code Vote up 6 votes
/**
 * 删除配置
 *
 * @param name
 * @throws Exception
 */
public static void removeHttpConfig(String name) throws Exception {
    SAXReader reader = new SAXReader();
    File xml = new File(HTTP_CONFIG_FILE);
    Document doc;
    Element root;
    try (FileInputStream in = new FileInputStream(xml); Reader read = new InputStreamReader(in, "UTF-8")) {
        doc = reader.read(read);
        root = doc.getRootElement();
        Element cfg = (Element) root.selectSingleNode("/root/configs");
        Element e = (Element) root.selectSingleNode("/root/configs/config[@name='" + name + "']");
        if (e != null) {
            cfg.remove(e);
            CONFIG_MAP.remove(name);
        }
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");
        XMLWriter writer = new XMLWriter(new FileOutputStream(xml), format);
        writer.write(doc);
        writer.close();
    }
}
 
Example 3
Project: joai-project   File: OAISetsXMLConfigManager.java   View Source Code Vote up 5 votes
/**
 *  Removes the given OAI set definition from the ListSets config XML file and writes it to disc.
 *
 * @param  setsConfigFile  The ListSets config file
 * @param  setSpec         The set to remove
 * @return                 True if the set existed and was removed
 * @exception  Exception   If error
 */
public static boolean removeOAISetSpecDefinition(File setsConfigFile, String setSpec) throws Exception {
	Document document = null;
	if (setsConfigFile == null || !setsConfigFile.exists())
		return false;

	// Create the XML DOM
	if (setsConfigFile.exists()) {
		SAXReader reader = new SAXReader();
		document = reader.read(setsConfigFile);
	}

	Element root = document.getRootElement();
	if (!root.getName().equals("ListSets"))
		throw new Exception("OAI Sets XML is incorrect. Root node is not 'ListSets'");

	// Remove the previous set definition, if present
	String xPath = "set[setSpec=\"" + setSpec + "\"]";
	Element prevSet = (Element) root.selectSingleNode(xPath);
	if (prevSet == null)
		return false;
	root.remove(prevSet);

	// Write the XML to disc
	OutputFormat format = OutputFormat.createPrettyPrint();
	XMLWriter writer = new XMLWriter(new FileWriter(setsConfigFile), format);
	writer.write(document);
	writer.close();

	return true;
}
 
Example 4
Project: joai-project   File: GenericType.java   View Source Code Vote up 5 votes
/**
 *  NOT YET DOCUMENTED
 *
 * @param  qualifiedElementName  NOT YET DOCUMENTED
 * @param  parent                NOT YET DOCUMENTED
 */
public void filterChildren(String qualifiedElementName, Element parent) {
	List children = parent.elements();
	for (int i = children.size() - 1; i > -1; i--) {
		Element child = (Element) children.get(i);
		if (child.getQualifiedName().equals(qualifiedElementName))
			parent.remove(child);
		else
			filterChildren(qualifiedElementName, child);
	}
}
 
Example 5
Project: joai-project   File: User.java   View Source Code Vote up 5 votes
/**
 *  Write this User to disk and reset data structures so they will be
 *  reloaded from disk.
 *
 *@exception  Exception  Description of the Exception
 */
public void flush() throws Exception {
	prtln("\n flushing " + this.getUsername());
	// we have to update the prefs and roles structures!

	// UPDATE the document so it will be correctly written
	Element root = (Element) getNode("/record");
	String roles_path = ("/record/roles");
	String prefs_path = ("/record/preferences");
	// delete "roles" and "preferences", and then add again from their maps

	Element rolesElement = (Element) getNode(roles_path);
	if (rolesElement != null && !root.remove(rolesElement)) {
		prtln("WARNING: Roles not removed");
	}
	Element prefsElement = (Element) getNode(prefs_path);
	if (prefsElement != null && !root.remove(prefsElement)) {
		prtln("WARNING: Prefs not removed");
	}

	// insert new elements
	rolesElement = this.rolesMapToElement();
	prefsElement = this.prefMapToElement();

	// add elements constructed from the maps
	if (rolesElement != null)
		root.add(rolesElement);
	if (prefsElement != null)
		root.add(prefsElement);	

	this.reader.flush();
	this.roleMap = null;
	this.prefMap = null;

}
 
Example 6
Project: joai-project   File: SchemEditValidator.java   View Source Code Vote up 5 votes
/**
 *  Removes empty elements of repeating fields.<p>
 *
 *  DISABLED 5/11/04 - the repository will contain non-valid elements, so we
 *  don't worry so much about getting rid of the empty elements (many of which
 *  will be invalid due to the "stringTextType" convention) Removes empty child
 *  elements from each repeating field in the toPrune list. Children are pruned
 *  if they are empty and their occurance attribute allows them to be deleted.
 */
protected void pruneRepeatingFields() {
	prtln ("\nPruneRepeatingFields()");
	List toPruneList = sef.getRepeatingFieldsToPrune();

	// for each repeating field on the toPrune list
	for (Iterator p = toPruneList.iterator(); p.hasNext(); ) {
		String parentPath = (String) p.next();
		prtln ("\t parent: " + parentPath);
		Element parent = (Element) docMap.selectSingleNode(parentPath);
		if (parent == null) {
			prtln("pruneRepeatingFields(): Element not found for " + parentPath);
			continue;
		}
		List children = parent.elements();
		SchemaNode schemaNode = schemaHelper.getSchemaNode(XPathUtils.normalizeXPath(parentPath));
		if (schemaNode == null) {
			prtln("pruneRepeatingFields() couldn't find SchemaNode");
			continue;
		}

		for (int i = children.size() - 1; i > -1; i--) {
			Element child = (Element) children.get(i);
			String childName = child.getName();
			prtln ("\t     childName: " + childName);
			if (!Dom4jUtils.isEmpty(child)) {
				continue;
			}
			if (parent.elements().size() >= schemaNode.getMinOccurs()) {
				String childPath = child.getPath();
				parent.remove(child);
			}
		}
		parent.setText("");
	}
	sef.clearRepeatingFieldsToPrune();
}
 
Example 7
Project: atlas   File: ManifestFileUtils.java   View Source Code Vote up 5 votes
private static void removeProcess(Document document) throws IOException, DocumentException {

        Element root = document.getRootElement();// Get the root node
        List<? extends Node> nodes = root.selectNodes("//*[@android:process]");
        for (Node node : nodes) {
            Element element = (Element)node;
            String process = element.attributeValue("process");
            logger.info("[Remove Element]" + element + process);
            element.remove(element.attribute("process"));
        }
    }
 
Example 8
Project: xpath-to-xml   File: Dom4jNavigator.java   View Source Code Vote up 5 votes
@Override
public void remove(Dom4jNode node) {
    final Node wrappedNode = node.getNode();
    final Element parent = wrappedNode.getParent();
    if (parent != null) {
        parent.remove(wrappedNode);
    } else {
        throw new XmlBuilderException("Unable to remove node " + node
                + ". Node either root or in detached state");
    }
}
 
Example 9
Project: lams   File: ElementWrapper.java   View Source Code Vote up 4 votes
public boolean remove(Element element) {
	return element.remove( element );
}
 
Example 10
Project: PackagePlugin   File: FileUtil.java   View Source Code Vote up 4 votes
/**
 * 保存http请求信息到xml
 *
 * @param hc
 * @return
 * @throws Exception
 */
public static boolean saveHttpConfig(HttpConfig hc) throws Exception {
    SAXReader reader = new SAXReader();
    File xml = new File(HTTP_CONFIG_FILE);
    Document doc = null;
    Element root = null;
    boolean isNew = true;
    if (!xml.exists()) {
        doc = DocumentHelper.createDocument();
        root = DocumentHelper.createElement("root");
        root.addElement("configs");
        doc.add(root);
    }
    if (doc == null) {
        try (FileInputStream in = new FileInputStream(xml); Reader read = new InputStreamReader(in, "UTF-8")) {
            doc = reader.read(read);
            root = doc.getRootElement();
        }
    }
    Element cfg = (Element) root.selectSingleNode("/root/configs");
    Element e = (Element) root.selectSingleNode("/root/configs/config[@name='" + hc.getName() + "']");
    if (e != null) {
        isNew = false;
        cfg.remove(e);
    }
    CONFIG_MAP.put(hc.getName(), hc);

    Element cfg1 = cfg.addElement("config");
    cfg1.addAttribute("name", hc.getName());
    cfg1.addAttribute("encodeType", hc.getEncodeType());
    cfg1.addAttribute("charset", hc.getCharset());
    cfg1.addAttribute("requestType", hc.getRequestType());
    cfg1.addAttribute("sendXML", hc.getSendXML().toString());
    cfg1.addAttribute("packHead", hc.getPackHead().toString());
    cfg1.addAttribute("lowercaseEncode", hc.getLowercaseEncode().toString());

    cfg1.addElement("url").setText(hc.getUrl());
    cfg1.addElement("header").setText(hc.getHeaderStr());
    cfg1.addElement("parameter").setText(hc.getParameterStr());
    cfg1.addElement("encodeField").setText(hc.getEncodeFieldName());
    cfg1.addElement("encodeKey").setText(hc.getEncodeKey());

    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setEncoding("UTF-8");
    XMLWriter writer = new XMLWriter(new FileOutputStream(xml), format);
    writer.write(doc);
    writer.close();
    return isNew;
}