0
다른 http 요청의 출력으로이 XML 형식을 사용합니다.요소에 클래스 유형을 동적으로 바인딩하는 방법
<transaction>
<respmsg>...</respmsg>
<respcode>0000</respcode>
<status>success</status>
</transaction>
다음은이 클래스 객체에 매핑 할 매우 쉽게 내 트랜잭션 클래스 표현 "respmsg"속성
abstract class ResponseMessage {
}
의
@root
class Transaction {
@Element
public ResponseMessage respmsg;
@Element
public int respcode;
@Element
public String status;
}
추상 클래스 표현입니다. 그러나 "respmsg"는 respmsg이
<respmsg>
<firstname>John</firstname>
<lastname>Doe</lastname>
<mobilephone>1234</mobilephone>
<email>[email protected]</email>
</respmsg>
class LoginResponseMessage extends ResponseMessage {
@Element
public String firstname;
@Element
public String lastname;
@Element
public String mobilephone;
@Element
public String email;
}
수 있습니다 및 위치 요청에 대해 그것이 어떤 종류를 알 수 있도록 내 클래스를 디자인하려면 어떻게
<respmsg>
<address1>121 121 UAE Bldg, dubai</address1>
<address2/>
<city>Dubai</city>
<postalcode>121</postalcode>
<region>dubai</region>
</respmsg>
class LocationResponseMessage extends ResponseMessage {
@Element
public String address1;
@Element
public String address2;
@Element
public String postalcode;
@Element
public String region;
}
수 있습니다 로그인 요청에 대한 모든 요청 다릅니다 desserialization 동안 respmsg에 사용할 클래스?
String xmlData = retrieve(urls[0]); //retrieve fetches the string xml from the http request
Serializer serializer = new Persister();
Reader reader = new StringReader(xmlData);
Transaction t = serializer.read(Transaction.class, reader, false);
무엇인가 입력되는 알리는''태그에 속성을 추가하는 방법에 대한? –
azz
예 :' ' –
azz
안녕하세요, Der Flatulaor 님의 의견에 감사드립니다. 예, 실제로 String xmlData에서에 속성을 삽입합니다. String xmlData = retrieve (urls [0]); int respmsgIndex = xmlData.indexOf (""); xmlData = xmlData.replaceFirst ("", ""); 도움 주셔서 감사합니다. 내가 할 수 있다면 대답으로 당신의 의견을 표시했을 것입니다. 매우 감사! –
Lian