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

The following are Jave code examples for showing how to use selectSingleNode() 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: 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 2
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 3
Project: joai-project   File: RemoteResultDoc.java   View Source Code Vote up 5 votes
/**
 *  Construct a RemoteResultDoc from a MatchingRecord element (of the reponse
 *  from the UrlCheck Web Service)
 *
 *@param  record  matching record {@link org.dom4j.Element}
 *@param  rs      instance of {@link RemoteSearcher}
 */
public RemoteResultDoc(Element record, RemoteSearcher rs) {
	// prtln ("constructor with element:\n\t " + e.asXML());
	this.rs = rs;
	url = record.element("url").getText();
	Element head = record.element("head");
	try {
		Element collectionElement = (Element) head.selectSingleNode("collection");
		collection = collectionElement.getText();
		id = head.selectSingleNode("id").getText();
	} catch (Throwable te) {
		prtln("RemoteResultDoc unable to parse element: " + te.getMessage());
	}
}
 
Example 4
Project: joai-project   File: ComplexType.java   View Source Code Vote up 5 votes
/**
 *  Gets the base extension type of the simpleContent element of the
 *  ComplexType.
 *
 * @return    The base extension type name if this ComplexType has
 *      simpleContent, null otherwise.
 */
public String getSimpleContentType() {
	if (!hasSimpleContent()) {
		return null;
	}
	Element e = getElement();
	Node node = e.selectSingleNode(NamespaceRegistry.makeQualifiedName(xsdPrefix, "simpleContent") + "/" +
		NamespaceRegistry.makeQualifiedName(xsdPrefix, "extension"));
	if (node == null) {
		prtln("extension node not found for " + getName());
		return null;
	}
	return ((Element) node).attributeValue("base");
}
 
Example 5
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;
}