2

「マーシャリング」中に、xml 属性にカスタムの名前空間を提供したいと考えています。これを達成するには2つの方法があることを知っています。1 つは、「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>

私はそれをしたくありません。私が意図する属性(以下のように)の名前空間のみが必要です。

<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> 

これどうやってするの 。多大な助けをありがとう

4

1 に答える 1