Как разобрать XML в Java-объект, используя XStream - PullRequest
5 голосов
/ 06 января 2012

У меня есть некоторый 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>();
   }

Ответы [ 2 ]

5 голосов
/ 06 января 2012

Я бы сопоставил это вручную лично или, возможно, использовал 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. Вы также можете использовать неявные коллекции,регистрация ошибки и текстового элемента.http://x -stream.github.io / javadoc / com / мысльworks / xstream / XStream.html # addImplicitCollection (java.lang.Class , java.lang.String, java.lang.Class)
0 голосов
/ 01 февраля 2014

используйте код:

    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>"; 
...