java类转换为xml

来源:互联网 发布:linux write 编辑:程序博客网 时间:2024/05/18 03:14
public class Accounts 
{
private Results results ;
public Results getResults() {
return results;
}
public void setResults(Results results) {
this.results = results;
}

}


public class Results 
{
private String crsultCode;
private List<Result> results ;
public List<Result> getResults() {
return results;
}
public void setResults(List<Result> results) {
this.results = results;
}
public String getCrsultCode() {
return crsultCode;
}
public void setCrsultCode(String crsultCode) {
this.crsultCode = crsultCode;
}
}


public class Result 
{
private String resultCode;
private List<String> accIds ;
public String getResultCode() 
{
return resultCode;
}
public void setResultCode(String resultCode)
{
this.resultCode = resultCode;
}
public List<String> getAccIds() 
{
return accIds;
}
public void setAccIds(List<String> accIds) 
{
this.accIds = accIds;
}
}




public class XmlService 
{
public static void main(String[] args) 
{
xmlbuild();
}
public static void xmlbuild()
{
String xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
XStream xStream = new XStream(new DomDriver());
xStream.addImplicitCollection(Results.class, "results", Results.class);
xStream.addImplicitCollection(Result.class, "accIds", Result.class);
xStream.alias("accounts", Accounts.class);
xStream.alias("result", Result.class);
xStream.alias("accId", String.class);
xStream.useAttributeFor(Result.class, "resultCode");
System.out.println(xmlHeader+xStream.toXML(build()));
}

public static Accounts build()
{
Accounts accounts = new Accounts();
Results results = new Results();
Result result = new Result();
List<String> accIds = new ArrayList<String>();
accIds.add("CPC-001");
accIds.add("CPC-002");
result.setAccIds(accIds);
result.setResultCode("1300");
Result result2 = new Result();
List<String> accIds2 = new ArrayList<String>();
accIds2.add("CPC-001");
accIds2.add("CPC-002");
result2.setAccIds(accIds2);
result2.setResultCode("1301");
List<Result> resultList = new ArrayList<Result>();
resultList.add(result);
resultList.add(result2);
results.setResults(resultList);
accounts.setResults(results);
return accounts;
}
}


<?xml version="1.0" encoding="UTF-8"?>
<accounts>
  <results>
    <result resultCode="1300">
      <accId>CPC-001</accId>
      <accId>CPC-002</accId>
    </result>
    <result resultCode="1301">
      <accId>CPC-001</accId>
      <accId>CPC-002</accId>
    </result>
  </results>
</accounts>