如何用jaxb在编组的时候更改xml标签,就像下面那样
<book>
<name>jaxb</name>
</book>
改为
<b-book>
<b-name>jaxb</b-name>
</b-book>
<book>
<name>jaxb</name>
</book>
改为
<b-book>
<b-name>jaxb</b-name>
</b-book>
调试欢乐多
import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name = "b-book")
public class Book {
@XmlElement(name = "b-name")
private String name;
public Book() {
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;public class JaxbTest { public static void main(String[] args) throws JAXBException {
JAXBContext jc = JAXBContext.newInstance( "net.blogjava.frankiegao123.jaxb" );
Book book = new Book("Java EE 5 Tutorial");
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.setProperty("M", " ");
m.marshal(book, System.out);
}
}package net.blogjava.frankiegao123.jaxb;import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name = "b-book")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Book {
private String name;
public Book() {
}
public Book(String name) {
this.name = name;
} @XmlElement(name = "b-name")
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}package net.blogjava.frankiegao123.jaxb;import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;@XmlRegistry
public class ObjectFactory { public ObjectFactory() {
}
@XmlElementDecl(name = "object-factory-book")
public JAXBElement<Book> createBook(Book value) {
return new JAXBElement<Book>(null, Book.class, null, value);
}
}