をアカウントに一つだけ@XStreamAlias("SenderData")
注釈を置くことができるよう、最後は動作しません
Account sender = myXstream.load("SenderData", Account.class); //works!
Account recipient = myXstream.load("RecipientData", Account.class);//doesn't work
: は明確にするために、私の目標は、1つのアカウントクラスの2つのオブジェクト、このような何かを持っていることですあなたはthoses XMLをロードする必要がある、とXStreamの分布-1.4.9を使用して
1.first XML(recipient.xml)
<RecipientData>
<login>naLogin</login>
<password>anaPass</password>
</RecipientData>
2秒OND XML(sender.xml)このAccountクラスで
<SenderData>
<login>awesomeLogin</login>
<password>awesomePass</password>
</SenderData>
:
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("SenderData")
public class Account {
private String login, password;
public String getLogin() {
return login;
}
/*public void setLogin(String login) {
this.login = login;
}*/
public String getPassword() {
return password;
}
/*public void setPassword(String password) {
this.password = password;
}*/
public void toPtring(){
System.out.println("login="+this.getLogin());
System.out.println("pass="+this.getPassword());
}
}
とテストクラス:
public class maintest {
public static void main(String args[]) throws FileNotFoundException{
XStream xstream = new XStream();
xstream.alias("SenderData", Account.class);
FileReader r = new FileReader("sender.xml");
Account sender=(Account)xstream.fromXML(r);
sender.toPtring();
xstream.alias("RecipientData", Account.class);
FileReader r2 = new FileReader("recipient.xml");
Account recipient=(Account)xstream.fromXML(r2);
recipient.toPtring();
}
}
その作品。この結果のように、あなたが何か
を忘れていないかどうかを確認するために、あなたのコードで
ルック私はXStreamAlias' @クラスのアノテーションは '使用する必要があると思いました。あなたの例のような別の別名をテストしませんでした。それはあなたのソリューションで動作します。どうもありがとうございました! – BohdanN