Android编程解析XML方法详解(SAX,DOM与PULL)

2019-12-10 19:31:09王冬梅

然后再对MainActivity做以下更改:

readBtn.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    try {
      InputStream is = getAssets().open("books.xml");
//         parser = new SaxBookParser();
//         parser = new DomBookParser();
      parser = new PullBookParser();
      books = parser.parse(is);
      for (Book book : books) {
        Log.i(TAG, book.toString());
      }
    } catch (Exception e) {
      Log.e(TAG, e.getMessage());
    }
  }
});

和其他两个执行结果都一样。

对于这三种解析器各有优点,我个人比较倾向于PULL解析器,因为SAX解析器操作起来太笨重,DOM不适合文档较大,内存较小的场景,唯有PULL轻巧灵活,速度快,占用内存小,使用非常顺手。读者也可以根据自己的喜好选择相应的解析技术。

希望本文所述对大家Android程序设计有所帮助。



注:相关教程知识阅读请移步到Android开发频道。