How do I prevent bean’s property being serialized to XML?

package org.kodejava.example.bean;

import java.beans.*;

public class BeanToXmlTransient {
    private Long id;
    private String itemName;
    private String itemColour;
    private Integer itemQuantities;

    static {
        try {
            // In this block will change the attribute type of the 
            // itemQuantities to transient so it will be not serialized 
            // to xml when we use XMLEncode to convert the bean to xml 
            // persistence.
            BeanInfo bi = Introspector.getBeanInfo(BeanToXmlTransient.class);
            PropertyDescriptor[] pds = bi.getPropertyDescriptors();
            for (int i = 0; i < pds.length; i++) {
                PropertyDescriptor propertyDescriptor = pds[i];
                if (propertyDescriptor.getName().equals("itemQuantities")) {
                    propertyDescriptor.setValue("transient", Boolean.TRUE);
        } catch (IntrospectionException e) {

    public static void main(String[] args) {
        BeanToXmlTransient bean = new BeanToXmlTransient();
        bean.setId(new Long(1));
        bean.setItemColour("Dark Red");
        bean.setItemQuantities(new Integer(100));

        try {
            XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(
                    new FileOutputStream("BeanTransient.xml")));

            // Write an XML representation of the specified object to the 
            // output.
        } catch (FileNotFoundException e) {

    public Long getId() {
        return id;

    public void setId(Long id) { = id;

    public String getItemName() {
        return itemName;

    public void setItemName(String itemName) {
        this.itemName = itemName;

    public String getItemColour() {
        return itemColour;

    public void setItemColour(String itemColour) {
        this.itemColour = itemColour;

    public Integer getItemQuantities() {
        return itemQuantities;

    public void setItemQuantities(Integer itemQuantities) {
        this.itemQuantities = itemQuantities;

Here will see the the itemQuantities property is not serialized to XML.

<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0_02" class="java.beans.XMLDecoder"> 
 <object class="org.kodejava.example.bean.BeanToXmlTransient"> 
  <void property="id"> 
  <void property="itemColour"> 
   <string>Dark Red</string> 
  <void property="itemName"> 

Wayan Saryada

Founder at Kode Java Org
I am a programmer, a runner, a recreational diver, currently live in the island of Bali, Indonesia. Mostly programming in Java, Spring Framework, Hibernate / JPA. You can support my works by donating here. Thank you 🥳

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.