Android下使用JDOM访问XML文件
16lz
2021-01-24
无聊的时候看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,请自行下载。
更多相关文章
- 在Android中通过jni方式使用编译好的FFmpeg库-Android中使用FFmp
- 如何访问android的asset目录和res目录下的文件
- (Android(安卓)Studio)Android(安卓)手机设备与HC05 蓝牙设备的
- [androd] android的在线源码网站,各个版本都有(目前已到俺android
- Android热修复(一):底层替换、类加载原理总结 及 DexClassLoader类
- 浅析RxJava 1.x&2.x版本区别及原理(三):1.x 版本 Scheduler调度线程
- Android(安卓)进阶之了解源码——Activity启动
- Android手势源码浅析-----手势绘制(GestureOverlayView)
- Android(安卓)如何在Eclipse中查看Android(安卓)API源码 及 supp