一个简单直接的JOX实例: JOX是非常的简单易用。假设你现在已经有了下面的Java Bean。 package com.wutka.jox.test; import com.wutka.jox.*; import java.util.*; public class TestBean implements java.io.Serializable { PRotected int foo; protected String bar; protected java.util.Date baz; protected Vector thingies; protected TestSubbean subbean; public TestBean() { bar = ""; baz = new Date(); thingies = new Vector(); }
public int getFoo() { return foo; } public void setFoo(int aFoo) { foo = aFoo; }
public String getBar() { return bar; } public void setBar(String aBar) { bar = aBar; }
public java.util.Date getBaz() { return baz; } public void setBaz(java.util.Date aBaz) { baz = aBaz; }
public TestSubbean getSub() { return subbean; } public void setSub(TestSubbean aSub) { subbean = aSub; }
public String[] getThingies() { String[] retThingies = new String[thingies.size()]; if (thingies.size() > 0) thingies.copyInto(retThingies);
return retThingies; }
public void setThingies(String[] newThingies) { thingies = new Vector(newThingies.length); for (int i=0; i < newThingies.length; i++) { thingies.addElement(newThingies[i]); } }
public String getThingies(int i) { return (String) thingies.elementAt(i); }
public void setThingies(int i, String thingy) { thingies.setElementAt(thingy, i); }
public String toString() { StringBuffer ret = new StringBuffer( "foo="+foo+";bar="+bar+";baz="+baz.toString()+ ";thingies="); for (int i=0; i < thingies.size(); i++) { if (i > 0) ret.append(","); ret.append((String) thingies.elementAt(i)); }
public class TestSer { public static void main(String[] args) { try { TestBean b = new TestBean(); b.setFoo(5); b.setBar("This is the bar value"); b.setThingies(new String[] { "Moe", "Larry", "Curly", "Shemp", "Curly Joe" }); TestSubbean sub = new TestSubbean(); sub.setName("Mark"); sub.setAge(35); b.setSub(sub);
FileOutputStream fileOut = new FileOutputStream("bean.xml"); JOXBeanOutputStream joxOut = new JOXBeanOutputStream(fileOut);
public class TestSerDTD { public static void main(String[] args) { try { TestBean b = new TestBean(); b.setFoo(5); b.setBar("This is the bar value"); b.setThingies(new String[] { "Moe", "Larry", "Curly", "Shemp", "Curly Joe" }); TestSubbean sub = new TestSubbean(); sub.setName("Mark"); sub.setAge(35); b.setSub(sub);
FileOutputStream fileOut = new FileOutputStream("bean.xml");
FileReader reader = new FileReader("testbean.dtd"); Parser dtdParser = new Parser();