Java JAXB:缺少命名空间
我试图从通过JAXB生成的类序列化XML 班级:Java JAXB:缺少命名空间,java,xml,namespaces,jaxb,Java,Xml,Namespaces,Jaxb,我试图从通过JAXB生成的类序列化XML 班级: package ws.avail; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "pos", "uniqueID", "availStatusMessages" }) @XmlRootElement(name = "OTA_HotelAvailNotifRQ") public class OTAHotelAvailNoti
package ws.avail;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"pos",
"uniqueID",
"availStatusMessages"
})
@XmlRootElement(name = "OTA_HotelAvailNotifRQ")
public class OTAHotelAvailNotifRQ {
...
}
文件“package info.java”:
封送拆收器(简化而无错误处理):
此代码生成:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OTA_HotelAvailNotifRQ Version="1.000" Target="TEST">
....
....
我期待这样的事情:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.000" Target="TEST">
....
....
我有一个类似的代码,工作正常,但我不明白为什么这段代码不显示名称空间。有线索吗?谢谢 您的映射是正确的 我试用了你的模型,它对我很有用: 演示
package ws.avail;
import java.io.StringWriter;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
OTAHotelAvailNotifRQ rootElement = new OTAHotelAvailNotifRQ();
StringWriter stringWriter = new StringWriter();
JAXBContext context = JAXBContext.newInstance(rootElement.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(rootElement, stringWriter);
System.out.println(stringWriter.toString());
}
}
输出
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"/>
解决方案 通常当出现此问题时,
包信息
类未编译或未与应用程序打包
了解更多信息
package ws.avail;
import java.io.StringWriter;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
OTAHotelAvailNotifRQ rootElement = new OTAHotelAvailNotifRQ();
StringWriter stringWriter = new StringWriter();
JAXBContext context = JAXBContext.newInstance(rootElement.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.marshal(rootElement, stringWriter);
System.out.println(stringWriter.toString());
}
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"/>