package test; import java.io.File; import java.net.MalformedURLException; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * * @author Administrator * 利用dom4j解析xml文件 */ public class MyXMLReader { /** * @param args * @throws MalformedURLException */ public static void main(String[] args) { readeXml("C:/Program Files/Tencent/QQ/Users/2593230245/FileRecv/xmldoc/20.xml"); } private static void readeXml(String path){ SAXReader reader = new SAXReader(); try { Document doc = reader.read(new File(path)); Element root = doc.getRootElement(); Element order = root.element("order"); System.out.println(order.getText()); Element type = root.element("type"); System.out.println(type.getText()); Element gamecompany = root.element("gamecompany"); System.out.println(gamecompany.getText()); Element gametype = root.element("gametype"); System.out.println(gametype.getText()); Element gametype1 = root.element("gametype1"); System.out.println(gametype1.getText()); Element ism = root.element("ism"); if(ism!=null){ System.out.println(ism.getText()); } @SuppressWarnings("unchecked") //parvalue_s Iterator<Element> iterator = root.elementIterator("parvalue_s"); while(iterator.hasNext()){ Element user = iterator.next(); @SuppressWarnings("unchecked") Iterator<Element> parvalueV=user.elementIterator("parvalue"); while(parvalueV.hasNext()){ Element parvalue =parvalueV.next(); String name = parvalue.elementText("name"); System.out.println(name); String id = parvalue.elementText("id"); System.out.println(id); String productid = parvalue.elementText("productid"); System.out.println(productid); } } //chargetype_s @SuppressWarnings("unchecked") Iterator<Element> chargetype_sR = root.elementIterator("chargetype_s"); while(chargetype_sR.hasNext()){ Element user = chargetype_sR.next(); @SuppressWarnings("unchecked") Iterator<Element> chargetypeV=user.elementIterator("chargetype"); while(chargetypeV.hasNext()){ Element parvalue =chargetypeV.next(); String name = parvalue.elementText("name"); System.out.println(name); String id = parvalue.elementText("id"); System.out.println(id); String buynumber_list = parvalue.elementText("buynumber_list"); System.out.println(buynumber_list); } } //accounttype_s @SuppressWarnings("unchecked") Iterator<Element> accounttype_sR = root.elementIterator("accounttype_s"); while(accounttype_sR.hasNext()){ Element user = accounttype_sR.next(); @SuppressWarnings("unchecked") Iterator<Element> chargetypeV=user.elementIterator("accounttype"); while(chargetypeV.hasNext()){ Element parvalue =chargetypeV.next(); String name = parvalue.elementText("name"); System.out.println(name); String id = parvalue.elementText("id"); System.out.println(id); String buynumber_list = parvalue.elementText("buynumber_list"); System.out.println(buynumber_list); } } //gamearea_s @SuppressWarnings("unchecked") Iterator<Element> gamearea_sR = root.elementIterator("gamearea_s"); while(gamearea_sR.hasNext()){ Element user = gamearea_sR.next(); @SuppressWarnings("unchecked") Iterator<Element> chargetypeV=user.elementIterator("gamearea"); while(chargetypeV.hasNext()){ Element parvalue =chargetypeV.next(); String name = parvalue.elementText("name"); System.out.println(name); String id = parvalue.elementText("id"); System.out.println(id); String buynumber_list = parvalue.elementText("buynumber_list"); System.out.println(buynumber_list); } } } catch (DocumentException e) { e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
今天做了一个利用dom4j来读取xml文件,上面是代码,下面是xml文件:
<?xml version="1.0" encoding="gb2312" ?> <game> <order>parvalue,chargetype,buynumber,gamearea,playerusername,replayerusername</order> <type>select,radio,select,select,text,text</type> <gamecompany>金山游戏</gamecompany> <gametype>封神榜2</gametype> <gametype1>16</gametype1> <parvalue_s> <parvalue> <name>15元</name> <id>15</id> <productid>js0001</productid> </parvalue> <parvalue> <name>30元</name> <id>30</id> <productid>js0001</productid> </parvalue> <parvalue> <name>50元</name> <id>50</id> <productid>js0001</productid> </parvalue> </parvalue_s> <chargetype_s> <chargetype> <name>封神通宝</name> <id>onib</id> <buynumber_list>1,2,3,4,5,6,7,8,9,10</buynumber_list> </chargetype> </chargetype_s> <gamearea_s> <gamearea> <name>封神榜2</name> <id>1</id> </gamearea> </gamearea_s> </game>