您的位置:首页 > 编程语言 > Java开发

JAVA使用simpleframework简单的解析XML文件

2013-12-12 15:51 363 查看
解析XML在项目中是经常需要使用到的,今天在这里为大家介绍怎么用simpleframework解析XML文件

需要一个架包 simple-xml.2.7.1.jar (如果没有该架包的同学可以上网自行搜索下载)

解析该xml文件为例

?xml version="1.0" encoding="UTF-8"?>
<items>
<totalResults>1</totalResults>
<totalResultsAll>1</totalResultsAll>
<Rows>
<productCategory>14664</productCategory>
<sortName>针织衫</sortName>
<productBrand>999999</productBrand>
<BrandName>ESP</BrandName>
<productID>AE050</productID>
<productName>女装EDC针织衫</productName>
<color/>
<sizeNo/>
<saleNum>0.000</saleNum>
</Rows>
<Rows>
<productCategory>14662</productCategory>
<sortName>针织衫1</sortName>
<productBrand>9999990</productBrand>
<BrandName>ESP0</BrandName>
<productID>AE0501</productID>
<productName>女装EDC针织衫1</productName>
<color>红色</color>
<sizeNo>中</sizeNo>
<saleNum>0.000</saleNum>
</Rows>
</items>

接下来我们需要编写我们的XML映射实体类

Items.java

import java.util.List;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name = "items")
public class Items {

@Element(name = "totalResults", required = false)
private String totalResults;

@Element(name = "totalResultsAll", required = false)
private String totalResultsAll;

@Element(name = "Rows", required = false)
private List<Rows> rows;

public String getTotalResults() {
return totalResults;
}

public void setTotalResults(String totalResults) {
this.totalResults = totalResults;
}

public String getTotalResultsAll() {
return totalResultsAll;
}

public void setTotalResultsAll(String totalResultsAll) {
this.totalResultsAll = totalResultsAll;
}

public List<Rows> getRows() {
return rows;
}

public void setRows(List<Rows> rows) {
this.rows = rows;
}
}


Rows.java

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name = "Rows")
public class Rows {

@Element(name = "productCategory", required = false)
private String productCategory;

@Element(name = "sortName", required = false)
private String sortName;

@Element(name = "productBrand", required = false)
private String productBrand;

@Element(name = "productID", required = false)
private String productID;

@Element(name = "productName", required = false)
private String productName;

@Element(name = "color", required = false)
private String color;

@Element(name = "sizeNo", required = false)
private String sizeNo;

@Element(name = "saleNum", required = false)
private String saleNum;

public String getProductCategory() {
return productCategory;
}

public void setProductCategory(String productCategory) {
this.productCategory = productCategory;
}

public String getSortName() {
return sortName;
}

public void setSortName(String sortName) {
this.sortName = sortName;
}

public String getProductBrand() {
return productBrand;
}

public void setProductBrand(String productBrand) {
this.productBrand = productBrand;
}

public String getProductID() {
return productID;
}

public void setProductID(String productID) {
this.productID = productID;
}

public String getProductName() {
return productName;
}

public void setProductName(String productName) {
this.productName = productName;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

public String getSizeNo() {
return sizeNo;
}

public void setSizeNo(String sizeNo) {
this.sizeNo = sizeNo;
}

public String getSaleNum() {
return saleNum;
}

public void setSaleNum(String saleNum) {
this.saleNum = saleNum;
}
}


测试类

public static void main(String[] args) {
Format format = new Format("<?xml version=\"1.0\" encoding= \"UTF-8\" ?>");
Serializer serializer = new Persister(format);
Items resultModel = null; // xml映射实体类
resultModel = serializer.read(Items.class, "xml字符串文件");
resultModel.getRows();
resultModel.getTotalResults();
resultModel.getTotalResultsAll();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: