无聊的时候看Android下使用xml的例子不爽了,找到DOM的本地化实现JDOM,发现官网已经声明2.0可以支持Android了,兴高采烈拿来用发现jar编译的有问题不能通过dx编译,难道是我的方法搞错了?好吧,怕了你了,我自己改还不行么?


找到JDOM源码,添加到工程的libs目录(这个目录是自己建立的),并且添加这个目录到源码目录,之后代码拷贝进去后删除一些用来test的类和一些编译错误的类,接着开始使用:


读取:

SAXBuilder builder = new SAXBuilder();InputStream ins = null;try {ins = new FileInputStream("/sdcard/test.xml");Document doc = null;doc = builder.build(ins);Element root = doc.getRootElement();List<Element> elements = root.getChildren();for(Element e: elements) {Log.v(TAG , e.getName());}} catch (FileNotFoundException e1) {e1.printStackTrace();} catch (JDOMException e1) {e1.printStackTrace();} catch (IOException e1) {e1.printStackTrace();}finally {try {ins.close();} catch (IOException e) {e.printStackTrace();}} 


写入的例子:

Document doc = new Document();Element eRoot = new Element("Persons");Element ePerson = new Element("Person");Attribute aPerson = new Attribute("age", "20");ePerson.setText("文本内容");ePerson.setAttribute(aPerson);eRoot.addContent(ePerson);doc.addContent(eRoot);XMLOutputter out = new XMLOutputter();Format format = Format.getPrettyFormat();out.setFormat(format);OutputStream writer = null;try {writer = new FileOutputStream("/sdcard/test.xml");} catch (FileNotFoundException e1) {e1.printStackTrace();}try {out.output(doc, writer);} catch (IOException e) {e.printStackTrace();}



主要是由于JDOM的代码写起来比较好看,我更喜欢这种清晰的结构。

编译的源代码地址一样上传了,在http://download.csdn.net/detail/cockroach/4320428,请自行下载。

搞定,编译正常,运行正常,呵呵。

更多相关文章

  1. 在Android中通过jni方式使用编译好的FFmpeg库-Android中使用FFmp
  2. 如何访问android的asset目录和res目录下的文件
  3. (Android(安卓)Studio)Android(安卓)手机设备与HC05 蓝牙设备的
  4. [androd] android的在线源码网站,各个版本都有(目前已到俺android
  5. Android热修复(一):底层替换、类加载原理总结 及 DexClassLoader类
  6. 浅析RxJava 1.x&2.x版本区别及原理(三):1.x 版本 Scheduler调度线程
  7. Android(安卓)进阶之了解源码——Activity启动
  8. Android手势源码浅析-----手势绘制(GestureOverlayView)
  9. Android(安卓)如何在Eclipse中查看Android(安卓)API源码 及 supp

随机推荐

  1. android 短信自动转发功能
  2. android 设置继承FragmentStatePagerAdap
  3. Android中 Popwindow的使用
  4. Android 使用 AndroidTestCase 的步骤
  5. Android 解决toast重复提示
  6. Android ListView组合CheckBox实现多选获
  7. android > 模拟器 Genymotion
  8. git cherry-pick 出错
  9. android定位Location为空解决办法
  10. android:浏览器添加书签