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>