diumenge, 2 d’octubre del 2016

Dos buenos enlaces online para generar, verificar y XSD <--> XML

http://www.freeformatter.com/xsd-generator.html#ad-output

http://xsd2xml.com/

si ademas se quiere pasar a Jason esta es cojonuda la primera me ha fallado.

 http://www.utilities-online.info/xmltojson/#.V9sHTHqbHzg

La verdad es que estan bastante bien y son gratis y no se instalan, te pueden salvar de un apuro rapido si lo que necesitas es cambiar alguna parte de un wsdl o xsd y generar ejemplos para documentar o incluso para tetear

para generar las clases javas es tan facil como ejecutar el xjc. Ojo convertir a Linux formato EOL. Se genera una carpeta /generated con el resultado.

Partiendo de este sencillo XML con solo cpy and paste y con un comando gneramos la clase.


<?xml version="1.0" encoding="utf-8"?>
<product>
  <id>123</id>
  <name>str1234</name>
  <description>str1234</description>
<prices> 
<price>123</price>
<price>121345</price>
</prices>
</product>


MINGW64 /d/software/jdk1.8.0_65/bin
$ ./xjc -xmlschema /d/temp/xsd/test.xsd -verbose


MINGW64 /d/software/jdk1.8.0_65/bin/generated
$ ls
ObjectFactory.java  Product.java




package generated;



import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;



@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "id",
    "name",
    "description",
    "prices"
})
@XmlRootElement(name = "product")
public class Product {

    protected byte id;
    @XmlElement(required = true)
    protected String name;
    @XmlElement(required = true)
    protected String description;
    @XmlElement(required = true)
    protected Product.Prices prices;


    public byte getId() {
        return id;
    }

    public void setId(byte value) {
        this.id = value;
    }

   
     */
    public String getName() {
        return name;
    }

    
     */
    public void setName(String value) {
        this.name = value;
    }

    /**

    public String getDescription() {
        return description;
    }


    public void setDescription(String value) {
        this.description = value;
    }


    public Product.Prices getPrices() {
        return prices;
    }

    
     */
    public void setPrices(Product.Prices value) {
        this.prices = value;
    }



    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "price"
    })
    public static class Prices {

        @XmlElement(type = Integer.class)
        protected List<Integer> price;


        public List<Integer> getPrice() {
            if (price == null) {
                price = new ArrayList<Integer>();
            }
            return this.price;
        }

    }

}


Cap comentari:

Publica un comentari a l'entrada