Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAXBXML自定义名称空间_Java_Xml_Jaxb - Fatal编程技术网

Java JAXBXML自定义名称空间

Java JAXBXML自定义名称空间,java,xml,jaxb,Java,Xml,Jaxb,我想在“封送”时为xml属性提供自定义名称空间。我知道有两种方法可以实现这一目标。一种是重写“NameSpacePrefixMapper”类的方法,如果我们倾向于使用包“javax.xml.bind”,则该类不再有效,另一种方法是在packege-info.java中定义 @javax.xml.bind.annotation.XmlSchema( namespace = "http://base.google.com/ns/1.0", elementFormDefault = javax.xml

我想在“封送”时为xml属性提供自定义名称空间。我知道有两种方法可以实现这一目标。一种是重写“NameSpacePrefixMapper”类的方法,如果我们倾向于使用包“javax.xml.bind”,则该类不再有效,另一种方法是在packege-info.java中定义

@javax.xml.bind.annotation.XmlSchema(
namespace = "http://base.google.com/ns/1.0",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
xmlns = {
@javax.xml.bind.annotation.XmlNs(prefix = "g",
namespaceURI="http://base.google.com/ns/1.0")
}
)
package com.test;  
这对我来说很好,但它为下面的所有属性提供了名称空间

<g:feed xmlns:g="http://base.google.com/ns/1.0" xmlns="http://www.w3.org/2005/Atom">
    <g:title>intersportOnlineshopping</g:title>
    <g:link>http://www.intersport.de</g:link>
    <g:summary>it is a merchantaised online shopping system<summary>
    <g:entry>
        <g:articleID>7611319580577</g:articleID>
        <g:articleTitle>ETIREL Damen Bikinihose »Melly solid«</g:articleTitle>
        <g:size>0</g:size>
    </g:entry>
<g:feed>

体育购物
http://www.intersport.de
这是一个商品化的网上购物系统
7611319580577
ETIREL Damen比基尼泳衣»Melly solid«
0
我不想那样。我只希望名称空间用于我想要的属性(如下所示)


体育购物
http://www.intersport.de
这是一个商品化的网上购物系统
7611319580577
ETIREL Damen比基尼泳衣»Melly solid«
0

我怎样才能做到这一点。感谢您的大力帮助

@XmlSchema
注释更改为仅指定名称空间前缀。然后,在
@xmlement
注释上,为要进行名称空间限定的属性指定名称空间参数。

我已经给出了注释@xmlement(namespace=“)仅用于一个属性。名称空间仍然附加到所有属性。如何将@XmlSchema注释限制为特定属性method@user964147-您是否删除了
@XmlSchema
注释中除
xmlns
属性之外的所有内容?
<feed xmlns:g="http://base.google.com/ns/1.0" xmlns="http://www.w3.org/2005/Atom">
    <title>intersportOnlineshopping<title>
    <link>http://www.intersport.de<link>
    <summary>it is a merchantaised online shopping system</g:summary>
    <entry>
        <articleID>7611319580577<articleID>
        <g:articleTitle>ETIREL Damen Bikinihose »Melly solid«</g:articleTitle>
        <g:size>0</g:size>
    </entry>
<feed>