dom4j 讀取xml

package core.util;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Reader {
	
	public static String findUrl(String xmlPath,String actionName,String htmlUrlName){
		String remoteUrl = "";
		SAXReader reader = new SAXReader();
		try {
			//讀取xml
			Document document = reader.read(new File(xmlPath));
			//獲取xml根路徑
			Element package_root=document.getRootElement();
			//獲root下的全部action子節點
			List<Element> actions = package_root.elements("action");
			for (Element action: actions) {
				//獲取action中 屬性爲name的值 <action name="login"></action> 這裏獲取的就是login
				if(action.attribute("name").getValue().equals(actionName)){
					//獲取name的值等於xx的action下面的子節點
					List<Element> urls = action.elements("remoteHtmlUrl"); 
					for (Element url: urls) {
						if(url.attribute("name").getValue().equals(htmlUrlName)){
							//獲取該子節點下面的值<url>http://www.baidu.com</url> 這裏獲取的是http://www.baidu.com
							remoteUrl = url.getText();
							return remoteUrl;
						}
					}
				}
			}
		} catch (DocumentException e) {
			System.out.println("xml路徑不正確,請確認後重試");
			e.printStackTrace();
		}
		return remoteUrl;
	}
}

 

<?xml version="1.0" encoding="UTF-8"?>
<package>
    <action name="login" class="loginController">
        <remoteHtmlUrl name="register">http://www.baidu.com</remoteHtmlUrl>
        <remoteHtmlUrl name="login">http://www.google.com</remoteHtmlUrl>
    </action>
</package>
相關文章
相關標籤/搜索