【问题标题】:Unable parse using simple XML for android无法使用适用于 android 的简单 XML 进行解析
【发布时间】:2014-02-26 05:54:32
【问题描述】:

我正在尝试使用简单的 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>

【问题讨论】:

  • 你尝试解析了吗??
  • 是的。但由于模型类错误,我总是得到空指针
  • 没有。该应用程序使用简单的 xml 框架进行解析。我已经使用它解析了其他几个 xml。但是这个xml没有运气
  • 发布你的代码你尝试了什么。

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


【解决方案1】:

简单正是在这里可以为您提供帮助的方法:将您的 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(...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    相关资源
    最近更新 更多