1

次の形式の XML があります (簡略化された例)

<Service id = "1">
<Message>
<options id="standard"> 
                    <option name="autorendered"> 
                        <value> 1</value> 
                    </option> 
                    <option name="environment"> 
                        <value> V</value> 
                    </option> 
                    <option name="document_name"> 
                        <value> Mail - MY Test Mail2.pdf</value> 
                    </option> 
                    <option name="document_provider"> 
                        <value> LNotes</value> 
                    </option> 
</options>
</Message>
</Service>


<Service id = "2">
    <Message>
    <options id="standard"> 
                        <option name="autorendered"> 
                            <value> 4</value> 
                        </option> 
                        <option name="environment"> 
                            <value> V</value> 
                        </option> 
                        <option name="document_name"> 
                            <value> attachment1.jpg</value> 
                        </option> 
                        <option name="document_provider"> 
                            <value> LNotes</value> 
                        </option> 
    </options>
    </Message>
    </Service>

JAXB を使用してマッピング クラスを作成すると、正常に動作するようになりました。しかし、メッセージタグの値は文字列として必要ですが、そうすると空の値が返されます。しかし、 hello や use のようなタグがあれば、適切service.getMessage()に返されます。hello

service.getMessage が<options>.....</option>String として返されるようにします。

JAX-B で不可能な場合は、Jaxpath、Xpath、Stax、またはその他の std で認識されている方法などを教えてください。

私のサービスクラスは次のようになります -

public class Service {      
    private Request request;

    @XmlElement(name = "Request")
    public Request getRequest() {
        return request;
    }

    public void setRequest(Request edmsRequest) {
        this.request = request;
    }

}
4

2 に答える 2

0

JAXB が POJO を作成するとき、必要に応じて文字列を作成するメソッドがあれば十分でしょうか?
同じことを行うユーティリティ メソッドを作成できます。

于 2012-09-17T09:00:06.127 に答える
0

@XmlAnyElement注釈を使用して、XML ドキュメントの一部を結果のオブジェクト構造に XML として保持できます。@XmlAnyElement注釈を使用するDomHandlerと、XML の表現方法 (DOM、文字列など) を制御できる を設定できます。

于 2012-09-17T10:55:34.450 に答える