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>