繁体   English   中英

如何使用XStream将XML解析为java对象

[英]How to parse XML to java object using XStream

我有一些xml代码,我想解析这个java对象请帮助我。

   <Error>
    <number>1020</number>
    <Type>fatal</Type>
    <Text>Nagaraju</Text>
    <Text>Suresh</Text>
    <Text>Sound</Text>
    <Text>Rajesh</Text>
   </Error>

java对象是

   Class Error{
      int number;
      String type;
      List<String>texts=new ArrayList<String>();
   }

我会亲自手动映射它,或者也许使用JAX-B,但如果你真的想使用XStream:

  1. 您需要将类Error映射到元素Error。 您可以使用“别名”执行此操作。 http://x-stream.github.io/alias-tutorial.html
  2. 列表通常不以这种方式表示,它通常是嵌套的。 将您的Error对象序列化为XML,以查看它通常表示为什么。 如果你想这样做,你可能需要一个转换器: http//x-stream.github.io/converter-tutorial.html
  3. 您还可以通过注册Error和text元素来使用隐式集合。 http://x-stream.github.io/javadoc/com/thoughtworks/xstream/XStream.html#addImplicitCollection(java.lang.Class,java.lang.String,java.lang.Class

使用代码:

    String response = "<\patron_tenders><\patron_tender name=\"alpha\" city=\"mumbai\" >"
+ "<\partial_card_number>************6319<\partial_card_number>"
+ "<\zip_code>123456<\zip_code>"
+ "<\tender_type_name>Visa<\tender_type_name>"
+ "<\token_id>80195<\token_id>" + "<\expired>false<\expired>"
+ "<\patron_tender>"+"<\patron_tender name=\"beta\" city=\"pune\" >"
+ "<\partial_card_number>************3545<\partial_card_number>"
+ "<\zip_code>565768<\zip_code>"
+ "<\tender_type_name>Visa2<\tender_type_name>"
+ "<\token_id>83397<\token_id>" + "<\expired>true<\expired>"
+ "<\patron_tender><\patron_tenders>"; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM