利用simpleframework解析xml

1.按照xml编写对应的bean文件

类似于树的先根遍历,从最深一层的元素开始创建对应的bean类,用@Element标识元素,@Attribute标识元素属性。除root元素、最深一层元素,其他层元素对应的bean类都需将其子元素的bean作为属性引入。对于下面的xml文档:


   
      
         http://172.16.0.160:8080/v3center/login1.jsp
         products_center_v1
      
      
         http://172.16.0.161:8080/v3center/login1.jsp
         products_center_v1
      
      
         http://172.16.0.162:8080/login_input.do
         wms
      
      172.16.0.166
      db_admin
      light2902
   

对应的bean文件依次为

public class BeanSystem {
	@Element
	private String url;
	@Element
	private String databasename;
	@Attribute
	private String username;
	@Attribute
	private String userpassword;

	//getter and setter
}

package com.litb.bida.test.xmlSerializer;

import org.simpleframework.xml.Element;

public class BeanEnvironment {
	@Element
	private BeanSystem fullfilSystem;
	@Element
	private BeanSystem procurementSystem;
	@Element
	private BeanSystem wmsSystem;
	@Element
	private String dblocation;
	@Element
	private String dbusername;
	@Element
	private String dbpassword;
	
//getter and setter
 
  
}

public class BeanCfg {
	@Element
	private BeanEnvironment testEnvCofig;
 
   
//getter and setter	
 
  
}


需要注意的时Bean类的属性值名称必须与xml文档中的元素及属性值一致。


2.读取xml内容

File file = new File("testconfig.xml");
BeanCfg cfg = new BeanCfg();
Serializer ser = new Persister();
ser.read(cfg,file);

即可从cfg开始获取各个层级的元素及属性

对于格式比较简单,起没有重复元素的xml,可以采用simpleframework来解析,对于文件比较大,且重复内容过的的,由于编写对应的bean文件比较耗时,则不太合适这种方法。

你可能感兴趣的:(Java)