通过向
QName用于构造JAXB元素的名称空间添加URI名称空间URI(“
http://www.something.com/something”),并利用包级
@XmlSchema注释,将为您提供所需的名称空间限定:
包装信息
@XmlSchema( namespace="http://www.something.com/something", elementFormDefault=XmlNsForm.QUALIFIED)package forum7014746;import javax.xml.bind.annotation.*;
餐饮
package forum7014746;import javax.xml.bind.annotation.XmlRootElement;@XmlRootElementpublic class Food { private String food; private String beverage; public String getFood() { return food; } public void setFood(String food) { this.food = food; } public String getBeverage() { return beverage; } public void setBeverage(String beverage) { this.beverage = beverage; }}演示版
package forum7014746;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBElement;import javax.xml.bind.Marshaller;import javax.xml.namespace.QName;public class Demo { public static void main(String[] args) throws Exception { JAXBContext jaxbContext = JAXBContext.newInstance(Food.class); Food foodSchema = new Food(); foodSchema.setFood("steak"); foodSchema.setBeverage("water"); JAXBElement<Food> element = new JAXBElement<Food> (new QName("http://www.something.com/something","FoodSchema"), Food.class, foodSchema); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(element, System.out); }}输出量
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><FoodSchema xmlns="http://www.something.com/something"> <beverage>water</beverage> <food>steak</food></FoodSchema>



