javaBean 类:
package com.cn.model;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class province {
private String province_name;
private String prov_city;
public String getProvince_name() {
return province_name;
}
@XmlElement
public void setProvince_name(String provinceName) {
province_name = provinceName;
}
public String getProv_city() {
return prov_city;
}
@XmlElement
public void setProv_city(String provCity) {
prov_city = provCity;
}
@Override
public String toString() {
return "province [prov_city=" + prov_city + ", province_name="
+ province_name + "]";
}
}
解析类:
package com.cn.parse;
import java.io.File;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import com.cn.model.province;
public class parse {
public StringWriter parse(){
province province = new province();
province.setProvince_name("贵州");
province.setProv_city("六盘水");
JAXBContext jaxbcontext = null;
StringWriter stringWriter = new StringWriter();
try {
//根据province类生成上下文对象
jaxbcontext = JAXBContext.newInstance(province.class);
//从上下文中获取Marshaller对象,用作将bean编组(转换)为xml
Marshaller marshaller = jaxbcontext.createMarshaller();
//以下是为生成xml做的一些配置
//格式化输出,即按标签自动换行,否则就是一行输出
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
//设置编码(默认编码就是utf-8)
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
//是否省略xml头信息,默认不省略(false)
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, false);
//将province解析成xml数据格式 放在stringWriter中
marshaller.marshal(province, stringWriter);
return stringWriter;
} catch (JAXBException e) {
e.printStackTrace();
}
return null;
}
}
main方法:
package com.cn.test;
import java.io.StringWriter;
import com.cn.parse.parse;
public class test {
public static void main(String[] args) {
parse parse =new parse();
StringWriter stringWriter = new StringWriter();
stringWriter=parse.parse();
System.out.print(stringWriter.toString());
}
}