无法解析使用简单的XML for android

时间:2014-02-26 05:54:32

标签: java android xml xml-parsing simple-framework

我正在尝试使用简单的xml for android解析以下xml。 xml看起来很简单,但我无法解析它。任何人都可以通过提供解析此xml所需的模型类来帮助我。提前谢谢。

<letters>
  <letter linkable="true">A</letter>
  <letter linkable="true">B</letter>
  <letter linkable="true">C</letter>
  <letter linkable="true">D</letter>
  <letter linkable="true">E</letter>
  <letter linkable="true">F</letter>
  <letter linkable="true">G</letter>
  <letter linkable="true">H</letter>
  <letter linkable="true">I</letter>
  <letter linkable="true">J</letter>
  <letter linkable="true">K</letter>
  <letter linkable="true">L</letter>
  <letter linkable="true">M</letter>
  <letter linkable="true">N</letter>
  <letter linkable="true">O</letter>
  <letter linkable="true">P</letter>
  <letter linkable="true">Q</letter>
  <letter linkable="true">R</letter>
  <letter linkable="true">S</letter>
  <letter linkable="true">T</letter>
  <letter linkable="true">U</letter>
  <letter linkable="true">V</letter>
  <letter linkable="true">W</letter>
  <letter linkable="false">X</letter>
  <letter linkable="true">Y</letter>
  <letter linkable="true">Z</letter>
  <letter linkable="true">123</letter>
</letters>

1 个答案:

答案 0 :(得分:2)

简单 正是可以帮助您的方法:将您的xml反序列化为java对象。

以下是如何做到这一点:

班级Letters

public class Letters
{
    @ElementList(name = "letters", inline = true)
    private List<Letter> letters;

    // ...
}

班级Letter

@Root(name = "letter")
public class Letter
{
    @Attribute(name = "linkable")
    private boolean linkable;
    @Text
    private String letter;

    // ...
}

如何使用

Serializer ser = new Persister();
Letters l = ser.read(Letters.class, xml); // xml is your input source; a string, file, stream, whatever ...

现在,您的xml已完全反序列化为java对象。顺便说一句。那些可以包含更多的方法/领域。也可以将Lists对象序列化回xml:只需将ser.read(...)替换为ser.write(...)