jdom不是标注你的解析器,但是确实非常方便的第三方工具,在官网下载jdom包,在工程中导入jdom.jar文件就可以使用了,非常方便
1):jdom写xml文件
import java.io.* ; import org.jdom.* ; import org.jdom.output.* ; public class writeXML { public static void main(String args[]) throws Exception { Element addresslist = new Element("addresslist") ; Element linkman = new Element("linkman") ; Element name = new Element("name") ; Element email = new Element("email") ; Attribute id = new Attribute("id","lxh") ; Document doc = new Document(addresslist) ; // 定义Document对象 name.setText("老王") ; name.setAttribute(id) ; // 将属性设置到元素之中 email.setText("123@163.com") ; linkman.addContent(name) ; // 设置关系 linkman.addContent(email) ; addresslist.addContent(linkman) ; XMLOutputter out = new XMLOutputter() ; out.setFormat(out.getFormat().setEncoding("GBK")) ; // 表示的是设置编码 out.output(doc,new FileOutputStream(new File("../xml/src/address.xml"))) ; } }
结果:
<?xml version="1.0" encoding="GBK"?> <addresslist><linkman><name id="lxh">老王</name><email>123@163.com</email></linkman></addresslist>
2):jdom读取xml文件
import java.io.* ; import java.util.* ; import org.jdom.* ; import org.jdom.input.* ; public class ReadXML { public static void main(String args[]) throws Exception { SAXBuilder builder = new SAXBuilder() ; Document read_doc = builder.build(new File("D:" + File.separator + "address.xml")) ; Element root = read_doc.getRootElement() ; // 取得根 List list = root.getChildren("linkman") ; // 得到所有的linkman for(int x=0;x<list.size();x++){ Element e = (Element) list.get(x) ; String name = e.getChildText("name") ; // 得到name子节点的内容 String id = e.getChild("name").getAttribute("id").getValue() ; String email = e.getChildText("email") ; System.out.println("-------------- 联系人 -------------") ; System.out.println("姓名:" + name + ",编号:" + id) ; System.out.println("EMAIL:" + email) ; System.out.println("-----------------------------------") ; System.out.println() ; } } }