首页 > 代码库 > XML 读写-JDOM和DOM4j
XML 读写-JDOM和DOM4j
一、JDOM的XML读写
1.JDOM的XML 读
1 import java.io.File; 2 import java.io.IOException; 3 import java.util.Iterator; 4 import java.util.List; 5 import org.jdom.Document; 6 import org.jdom.Element; 7 import org.jdom.JDOMException; 8 import org.jdom.input.SAXBuilder; 9 public class JdomReadXml {10 /**11 * @param args12 */13 public static void main(String[] args) {14 /**15 * <?xml version="1.0" encoding="UTF-8"?> <actions m="001"><action16 * path="/test" class="com.mystruts.demo.LoginAction"><forward17 * name="success" url="test.jsp" /><forward name="failure"18 * url="failure.jsp" /></action><action path="/user"19 * class="com.mystruts.demo.UserAction"><forward name="success"20 * url="test.jsp" /><forward name="failure" url="failure.jsp" /></action></actions>21 */22 SAXBuilder sax = new SAXBuilder();23 Document doc;24 try {25 try {26 doc = sax.build(new File("mystruts.xml"));27 Element root = doc.getRootElement();28 List actions = root.getChildren();29 // 遍历获取根节点下的一级子节点,并作为入参传入递归方法30 for (Iterator i = actions.iterator(); i.hasNext();) {31 Element action = (Element) i.next();32 System.out.println(action.getAttributeValue("path"));33 System.out.println(action.getAttributeValue("class"));34 List forwards = action.getChildren();35 for (Iterator j = forwards.iterator(); j.hasNext();) {36 Element forward = (Element) j.next();37 System.out.println(forward.getAttributeValue("name"));38 System.out.println(forward.getAttributeValue("url"));39 }40 }41 } catch (IOException e) {42 // TODO Auto-generated catch block43 e.printStackTrace();44 }45 } catch (JDOMException e) {46 e.printStackTrace();47 }48 }49 }
2.1.JDOM的XML 写
import java.io.File;import java.io.FileWriter;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;import org.jdom.output.XMLOutputter;public class JdomWriteXml { /** * @param args */ public static void main(String[] args) { SAXBuilder sb = new SAXBuilder(); Element actions = new Element("actions"); Document document = new Document(actions); Element action1 = new Element("action"); actions.addContent(action1); Attribute path_atbt1 = new Attribute("path", "/test"); Attribute class_atbt1 = new Attribute("class", "com.mystruts.demo.LoginAction"); action1.setAttribute(path_atbt1); action1.setAttribute(class_atbt1); Element action1_forward1 = new Element("forward"); action1.addContent(action1_forward1); Attribute action1_forward1_name_atbt1 = new Attribute("name", "success"); Attribute action1_forward1_url_atbt1 = new Attribute("url", "test.jsp"); action1_forward1.setAttribute(action1_forward1_name_atbt1); action1_forward1.setAttribute(action1_forward1_url_atbt1); Element action1_forward2 = new Element("forward"); action1.addContent(action1_forward2); Attribute action1_forward1_name_atbt2 = new Attribute("name", "failure"); Attribute action1_forward1_url_atbt2 = new Attribute("url", "failure.jsp"); action1_forward2.setAttribute(action1_forward1_name_atbt2); action1_forward2.setAttribute(action1_forward1_url_atbt2); Element action2 = new Element("action"); actions.addContent(action2); Attribute path_atbt2 = new Attribute("path", "/user"); Attribute class_atbt2 = new Attribute("class", "com.mystruts.demo.UserAction"); action2.setAttribute(path_atbt2); action2.setAttribute(class_atbt2); Element action2_forward1 = new Element("forward"); action2.addContent(action2_forward1); Attribute action2_forward1_name_atbt1 = new Attribute("name", "success"); Attribute action2_forward1_url_atbt1 = new Attribute("url", "test.jsp"); action2_forward1.setAttribute(action2_forward1_name_atbt1); action2_forward1.setAttribute(action2_forward1_url_atbt1); Element action2_forward2 = new Element("forward"); action2.addContent(action2_forward2); Attribute action2_forward1_name_atbt2 = new Attribute("name", "failure"); Attribute action2_forward1_url_atbt2 = new Attribute("url", "failure.jsp"); action2_forward2.setAttribute(action2_forward1_name_atbt2); action2_forward2.setAttribute(action2_forward1_url_atbt2); Attribute root_atbt1 = new Attribute("m", "001"); actions.setAttribute(root_atbt1); try { File f1 = new File("mystruts.xml"); // XMLOutputter xo=new XMLOutputter(" ",true,"GB2312"); XMLOutputter xo = new XMLOutputter(); FileWriter fw = new FileWriter(f1); xo.output(document, fw); fw.close(); } catch (Exception e) { e.printStackTrace(); } // System.out.println(document.toString()); }}
二DOM4j读写Xml
1.DOM4j读Xml
import java.io.File;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Dm4jReadXml { /** * @param args */ public static void main(String[] args) { // dom4j读xml,解析xml /** * <?xml version="1.0" encoding="UTF-8"?> <actions><action path="/test" * class="com.mystruts.demo.LoginAction"><forward name="success" * url="hello.jsp"/><forward name="fail" url="fail.jsp"/></action><action * path="/user" class="com.mystruts.demo.UserAction"><forward * name="success" url="list.jsp"/><forward name="fail" url="fail.jsp"/></action></actions> */ SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(new File("d://mystruts.xml")); Element root = document.getRootElement(); List actions = root.elements("action"); for (int i = 0; i < actions.size(); i++) { Element action = (Element) actions.get(i); System.out.println("action.path==" + action.attributeValue("path")); System.out.println("action.class==" + action.attributeValue("class")); List forwards = action.elements("forward"); for (int j = 0; j < forwards.size(); j++) { Element forward = (Element) forwards.get(j); System.out.println("forward.name==" + forward.attributeValue("name")); System.out.println("forward.url==" + forward.attributeValue("url")); } } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
2.DOM4j写Xml
import java.io.File;import java.io.FileWriter;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.XMLWriter;public class DOM4j { public static void main(String[] args) { // dom4j解析xml测试 // 1. dom4j写xml /* * <?xml version="1.0" encoding="UTF-8"?> <actions> <action path="/test" * class="com.mystruts.demo.LoginAction"> <forward name="success" * url="hello.jsp"/> <forward name="fail" url="fail.jsp"/> </action> * <action path="/user" class="com.mystruts.demo.UserAction"> <forward * name="success" url="list.jsp"/> <forward name="fail" url="fail.jsp"/> * </action> </actions> */ Document document = DocumentHelper.createDocument(); Element actionsElement = document.addElement("actions"); Element actionElement1 = actionsElement.addElement("action"); actionElement1.addAttribute("path", "/test"); actionElement1.addAttribute("class", "com.mystruts.demo.LoginAction"); Element forwardElement1 = actionElement1.addElement("forward"); forwardElement1.addAttribute("name", "success"); forwardElement1.addAttribute("url", "hello.jsp"); Element forwardElement2 = actionElement1.addElement("forward"); forwardElement2.addAttribute("name", "fail"); forwardElement2.addAttribute("url", "fail.jsp"); Element actionElement2 = actionsElement.addElement("action"); actionElement2.addAttribute("path", "/user"); actionElement2.addAttribute("class", "com.mystruts.demo.UserAction"); Element forwardElement21 = actionElement2.addElement("forward"); forwardElement21.addAttribute("name", "success"); forwardElement21.addAttribute("url", "list.jsp"); Element forwardElement22 = actionElement2.addElement("forward"); forwardElement22.addAttribute("name", "fail"); forwardElement22.addAttribute("url", "fail.jsp"); try { /** 将document中的内容写入文件中 */ XMLWriter writer = new XMLWriter(new FileWriter(new File( "d://mystruts.xml"))); writer.write(document); writer.close(); /** 执行成功,需返回1 */ } catch (Exception ex) { ex.printStackTrace(); } System.out.println(document.asXML()); }}
XML 读写-JDOM和DOM4j
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。