|
Hi,
try www.castor.org
--- "Bartell, Aaron L. (TC)"
<ALBartell@xxxxxxxxxxxxxx> wrote:
> Hey all,
>
> I have been working with XML and Java a lot lately
> and am wondering if there
> is a tool out there that will take an XML file or
> DTD or Schema and create a
> XML Java Bean. ? This Java Bean would have getters
> and setters for all of
> the fields plus parse and serialize methods for XML
> purposes.
>
> Below is an example of a small ExtraCharge Java Bean
> that I use in an Order
> request type situation. It would just be nice to
> have because of all the
> different communication that I am doing in XML.
>
> Thanks in advance for any help you can provide,
> Aaron Bartell
>
> import org.jdom.*;
> import org.jdom.input.DOMBuilder;
> import org.apache.xerces.parsers.DOMParser;
> import org.xml.sax.InputSource;
> import java.util.List;
> import java.util.LinkedList;
> import java.io.CharArrayReader;
>
> public class ExtraCharge {
>
> private String id = " ";
> private String shortDescription = " ";
> private Integer qty = new Integer(0);
> private Double price = new Double(0.0);
>
> public ExtraCharge(String x) {
> this.parse(x);
> }
>
>
>
> public Element serialize() {
>
> Element extraChargeRoot = new
> Element("ExtraCharge");
> DocType docType = new
> DocType("ExtraCharge");
> Document order = new
> Document(extraChargeRoot, docType);
>
> extraChargeRoot.addContent(new
>
Element("ShortDescription").addContent(shortDescription));
> extraChargeRoot.addContent(new
> Element("ItemId").addContent(id));
> extraChargeRoot.addContent(new
> Element("Qty").addContent(qty.toString()));
> extraChargeRoot.addContent(new
> Element("BillableAmount").addContent(new
> Element("Money").addContent(price.toString())));
>
> return extraChargeRoot;
> }
>
> public void parse(String sXML) {
>
> // Change String to an input source so the
> parser.parse(is) can
> parse correctly
> char[] cArray = new char[sXML.length()];
> sXML.getChars(0, sXML.length(), cArray, 0);
> CharArrayReader car = new
> CharArrayReader(cArray);
> InputSource is = new InputSource(car);
>
> DOMBuilder builder = new DOMBuilder(true);
> // DOMBuilder builds a
> JDOM tree using DOM - true=validate
> DOMParser parser = new DOMParser(); //
> Xerces specific class
>
> try {
> parser.parse(is);
> org.w3c.dom.Document domDoc =
> parser.getDocument(); // Create a
> w3c document
> org.jdom.Document jdomDoc =
> builder.build(domDoc); // Populate
> the jdom Document with the w3c Document
> Element extraChargeRoot =
> jdomDoc.getRootElement();
> List allChildren =
> extraChargeRoot.getChildren();
>
> String name = " ";
> for (int i = 0; i < allChildren.size();
> i++) {
> name = ((Element)
> allChildren.get(i)).getName();
>
> if (name.equals("ItemId")) {
> id = ((Element)
> allChildren.get(i)).getText();
>
> } else if
> (name.equals("ShortDescription")) {
> shortDescription = ((Element)
> allChildren.get(i)).getText();
>
> } else if (name.equals("Qty")) {
> qty = new Integer(((Element)
> allChildren.get(i)).getText());
>
> } else if (name.equals("Money")) {
> price = new Double(((Element)
> allChildren.get(i)).getText());
> }
> }
>
> } catch (Exception e) {
> System.out.println("Java Error Message:"
> + e.getMessage());
> }
> return;
> } // End Parse
>
>
>
> /**
> * Gets the id
> * @return Returns a String
> */
> public String getId() {
> return id;
> }
> /**
> * Sets the id
> * @param id The id to set
> */
> public void setId(String id) {
> this.id = id;
> }
>
> /**
> * Gets the shortDescription
> * @return Returns a String
> */
> public String getShortDescription() {
> return shortDescription;
> }
> /**
> * Sets the shortDescription
> * @param shortDescription The shortDescription
> to set
> */
> public void setShortDescription(String
> shortDescription) {
> this.shortDescription = shortDescription;
> }
>
> /**
> * Gets the qty
> * @return Returns a Integer
> */
> public Integer getQty() {
> return qty;
> }
> /**
> * Sets the qty
> * @param qty The qty to set
> */
> public void setQty(Integer qty) {
> this.qty = qty;
> }
>
> /**
> * Gets the price
> * @return Returns a Double
> */
> public Double getPrice() {
> return price;
> }
> /**
> * Sets the price
> * @param price The price to set
> */
> public void setPrice(Double price) {
> this.price = price;
> }
>
> }
>
> _______________________________________________
> This is the Java Programming on and around the
> iSeries / AS400 (JAVA400-L) mailing list
> To post a message email: JAVA400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit:
> http://lists.midrange.com/mailman/listinfo/java400-l
> or email: JAVA400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the
> archives
> at http://archive.midrange.com/java400-l.
>
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.