如何不将任何数据节点渲染为<node> </node>?

时间:2019-01-18 11:16:05

标签: jaxb

我通过jaxb生成了xml,但问题是,当数据为空时,呈现的节点为<node />。我希望它是<node></node>

这是我的代码:

@XmlRootElement(name = "record")
public class ReglementXMLBean {

    private String CODE_FOUR;
    private String NUM_FACT;
    private String FACT_FOU;
    private String DTE_REG;
    private String REF_REG;
    private String MODE_REG;
    private String MT_REG_DEV;
    private String MT_REG;
    private String DEVISE;
    private String TYPE_REG;

    public String getCODE_FOUR() {
        return CODE_FOUR;
    }
    @XmlElement
    public void setCODE_FOUR(String cODE_FOUR) {
        CODE_FOUR = cODE_FOUR;
    }
    public String getNUM_FACT() {
        return NUM_FACT;
    }
    @XmlElement
    public void setNUM_FACT(String nUM_FACT) {
        NUM_FACT = nUM_FACT;
    }
    public String getFACT_FOU() {
        return FACT_FOU;
    }
    @XmlElement
    public void setFACT_FOU(String fACT_FOU) {
        FACT_FOU = fACT_FOU;
    }
    public String getDTE_REG() {
        return DTE_REG;
    }
    @XmlElement
    public void setDTE_REG(String dTE_REG) {
        DTE_REG = dTE_REG;
    }
    public String getREF_REG() {
        return REF_REG;
    }
    @XmlElement
    public void setREF_REG(String rEF_REG) {
        REF_REG = rEF_REG;
    }
    public String getMODE_REG() {
        return MODE_REG;
    }
    @XmlElement
    public void setMODE_REG(String mODE_REG) {
        MODE_REG = mODE_REG;
    }
    public String getMT_REG_DEV() {
        return MT_REG_DEV;
    }
    @XmlElement
    public void setMT_REG_DEV(String mT_REG_DEV) {
        MT_REG_DEV = mT_REG_DEV;
    }
    public String getMT_REG() {
        return MT_REG;
    }
    @XmlElement
    public void setMT_REG(String mT_REG) {
        MT_REG = mT_REG;
    }
    public String getDEVISE() {
        return DEVISE;
    }
    @XmlElement
    public void setDEVISE(String dEVISE) {
        DEVISE = dEVISE;
    }
    public String getTYPE_REG() {
        return TYPE_REG;
    }
    @XmlElement
    public void setTYPE_REG(String tYPE_REG) {
        TYPE_REG = tYPE_REG;
    }

}

try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {

                     ReglementXMLBean reglementXMLBean = new ReglementXMLBean();

                     while ((line = br.readLine()) != null) {

                        String[] colonnes = line.split(cvsSplitBy);

                        reglementXMLBean.setCODE_FOUR(colonnes[0]);
                        reglementXMLBean.setNUM_FACT(colonnes[1]);
                        reglementXMLBean.setFACT_FOU(colonnes[2]);
                        reglementXMLBean.setDTE_REG(colonnes[3]);
                        reglementXMLBean.setREF_REG(colonnes[4]);
                        reglementXMLBean.setMODE_REG(colonnes[5]);
                        reglementXMLBean.setMT_REG_DEV(colonnes[6]);
                        reglementXMLBean.setMT_REG(colonnes[7]);
                        reglementXMLBean.setDEVISE(colonnes[8]);
                        reglementXMLBean.setTYPE_REG(colonnes[9]);

                        try {
                            JAXBContext jaxbContext = JAXBContext.newInstance(ReglementXMLBean.class);
                            Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
                            jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
                            jaxbMarshaller.marshal(reglementXMLBean, out);
                            jaxbMarshaller.marshal(reglementXMLBean, System.out);
                        } catch (JAXBException e) {
                            e.printStackTrace();
                        }

                    }

                } catch (IOException e) {
                    e.printStackTrace();
                }

0 个答案:

没有答案