次の形式の 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;
}
}