2

次のようなxmlを取得するにはどうすればよいですか?

<request>
  <User>
    <name>name value</name>
    <age>13</age>
  </User>
</request>

次に、これを一致するプロパティを持つUserオブジェクトに逆シリアル化できます。

public class User {
  private String name;
  private Integer age;

  // getter and setters
}

私ができる簡単なことはありますか、またはこれのために手動でxmlを解析する必要がありますか?

私はSpringMVCを使用していますが、これはxmlが投稿されるメソッドにあります。

4

2 に答える 2

3

コントローラメソッドは、。Userで注釈が付けられたタイプの引数を取る必要があります@RequestBodyMarshallingHttpMessageConverter次に、適切なマーシャラー/アンマーシャラーでを構成する必要があります。例、リファレンスガイドから直接:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <property name="messageConverters">
      <util:list id="beanList">
        <ref bean="stringHttpMessageConverter"/>
        <ref bean="marshallingHttpMessageConverter"/>
      </util:list>
    </property
</bean>

<bean id="stringHttpMessageConverter" 
       class="org.springframework.http.converter.StringHttpMessageConverter"/>

<bean id="marshallingHttpMessageConverter" 
      class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
  <property name="marshaller" ref="castorMarshaller" />
  <property name="unmarshaller" ref="castorMarshaller" />
</bean>

<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller"/>

詳細については、リファレンスガイドの「サポートされているメソッド引数タイプ」および「@RequestBodyアノテーションを使用したリクエスト本文のマッピング」を参照してください。

于 2012-12-27T01:30:57.240 に答える
0

ダイジェストを使用できます。XML要素をPOJOにバインドします。これが完全なチュートリアルです:http: //onjava.com/pub/a/onjava/2002/10/23/digester.html

于 2012-12-27T00:20:00.883 に答える