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