Jaxb生成的xml-根元素前缀存在问题

Jaxb生成的xml-根元素前缀存在问题,第1张

Jaxb生成的xml-根元素前缀存在问题

如果这是您的课程:

package example;import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name="report",namespace="urn:report")public class Root {    private String id;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }}

然后就可以知道根元素上有一个前缀,因为您已指定“根”元素是名称空间限定的,而“ id”元素则不是。

<ns2:report xmlns:ns2="urn:report">    <id>123</id></ns2:report>

如果将package-info类添加到模型,则可以利用@XmlSchema批注:

@XmlSchema(        namespace = "urn:report",        elementFormDefault = XmlNsForm.QUALIFIED)package example;import javax.xml.bind.annotation.XmlNsForm;import javax.xml.bind.annotation.XmlSchema;

然后,JAXB实现可以选择利用默认名称空间,但是请注意,现在所有元素都是名称空间限定的,可能与您的XML模式匹配或不匹配:

<report xmlns="urn:report">    <id>123</id></report>

有关JAXB和名称空间的更多信息,请参见:

  • http://bdoughan.blogspot.com/2010/08/jaxb-namespaces.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5016824.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存