javaBean 转换 xml

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());
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值