Wednesday, January 28, 2009

simple xml-parser by Apache-Digester

example.

create file example.xml

<ATSSYNC>
<DERIVERED>
<SERIAL></SERIAL>
<SERIAL></SERIAL>
</DERIVERED>
<EFFECTIVEDATE>12JUNE09</EFFECTIVEDATE>
</ATSSYNC>


coding main.java

Digester digester = new Digester();
digester.setValidating(false);
digester.addObjectCreate("ATSSYNC", SalePointSync.class);
digester.addBeanPropertySetter("ATSSYNC/EFFECTIVEDATE", "effectiveDate");

digester.addObjectCreate("ATSSYNC/DERIVERED", Derivered.class);
digester.addCallMethod("ATSSYNC/DERIVERED/SERIAL", "addSerial", 1);
digester.addCallParam("ATSSYNC/DERIVERED/SERIAL", 0);
digester.addSetNext("ATSSYNC/DERIVERED", "addDerivered");


File inputFile = new File("example.xml");
SalePointSync salePointSync = null;
salePointSync = (SalePointSync) digester.parse(inputFile);
System.out.println(salePointSync.toXML());


coding SalePointSync.java

public class SalePointSync {

private Vector derivered;
private Vector returning;
private String effectiveDate;

public SalePointSync() {
derivered = new Vector();
returning = new Vector();
}
public void addDerivered(Derivered derivered){
this.derivered.addElement(derivered);
}
public Vector getDerivered() {
return derivered;
}
public void addReturning(Returning returning){
this.returning.addElement(returning);
}
public Vector getReturning() {
return returning;
}

public String getEffectiveDate() {
return effectiveDate;
}

public void setEffectiveDate(String effectiveDate) {
this.effectiveDate = effectiveDate;
}

public String toXML() {
StringBuffer sb = new StringBuffer();
sb.append("");
for(int i=0;i" + getEffectiveDate() + "");
sb.append("
");
return sb.toString();
}
}

coding Derivered.java

public class Derivered {
private Vector serial;
public Derivered(){
serial = new Vector();
}
public Vector getSerial() {
return serial;
}

public void addSerial(String serial) {
this.serial.addElement(serial);
}

public String toXML(){
StringBuffer sb = new StringBuffer();
sb.append("");
for(int i=0;i"+s+"");
}
sb.append("
");
return sb.toString();
}
}



No comments: