`

Android读写XML(下)——创建XML文档

 
阅读更多
在前面的2篇文章Android读写XML(上)—— package说明 、Android读写XML(中)—— SAX 中想必大家对XML文件读取的方法已经比较熟悉了,在这里我们就不多说了,直接说明如何将信息写成XML文件,首先介绍Andoid SDK中的相关类。
类  说明 
XmlSerializer  Define an interface to serialziation of XML Infoset.定义一个接口来实现XML信息的串行化。
什么是串行化?
对象的串型化,也有叫做对象的序列话,并不只是简单的把对象保存在存储器上,它可以使我们在流中传输对象,使对象变的可以像基本数据一样传递。
下面,我们就直接来看个具体的例子来说明,如何使用XmlSerializer。
 
  1. private String writeXml(){  
  2. XmlSerializer serializer = Xml.newSerializer();  
  3. StringWriter writer = new StringWriter();  
  4. try{  
  5. serializer.setOutput(writer);  
  6.  
  7. // <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>  
  8. serializer.startDocument(”UTF-8″,true);  
  9.  
  10. // <blog number=”1″>  
  11. serializer.startTag(”",”blog”);  
  12. serializer.attribute(”",”number”,String.valueOf(1));  
  13.  
  14. //<message data=”2009-09-23″>  
  15. serializer.startTag(”",”message”);  
  16. serializer.attribute(”",”date”,”2009-09-23″);  
  17.  
  18. // <title>Android XML</title>  
  19. serializer.startTag(”",”title”);  
  20. serializer.text(”Android XML”);  
  21. serializer.endTag(”",”title”);  
  22.  
  23. // <url>http://www.moandroid.com/?p=508 </url>  
  24. serializer.startTag(”",”url”);  
  25. serializer.text(”http://www.moandroid.com/?p=508″);  
  26. serializer.endTag(”",”url”);  
  27.  
  28. //</message>  
  29. serializer.endTag(”",”message”);  
  30. // </blog>  
  31. serializer.endTag(”",”blog”);  
  32. serializer.endDocument();  
  33. return writer.toString();  
  34. }  
  35. catch(Exception e)  
  36. {  
  37. throw new RuntimeException(e);  
  38. }  
  39. }  
  40.  
 
我们先将writeXml()产生的字符串输出 ,看是否是按照我们设计的那样,使用Log.v(“XML”, writeXml())输出调试信息。运行程序,在DDMS中查看程序输出的调试信息,如何查看调试信息请阅读Android DDMS如何使用? 
输出的字符串如下:
 
  1. <?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?> 
  2. <blog number=”1″> 
  3. <message data=”2009-09-23″> 
  4. <title>Android XML</title> 
  5. <url>http://www.moandroid.com/?p=508</url> 
  6. </message> 
  7. </blog> 
看了运行的结果,对于上面代码的功能,估计大家就明白了,不再这里详细解析。
下面,进一步将字符串写入文件 ,代码如下:
  1. public boolean Write(String path,String txt)  
  2. {  
  3. try 
  4. {  
  5. OutputStream os = openFileOutput(path,MODE_PRIVATE);  
  6. OutputStreamWriter osw=new OutputStreamWriter(os);  
  7. osw.write(txt);  
  8. osw.close();  
  9. os.close();  
  10. }  
  11. catch(FileNotFoundException e)  
  12. {  
  13. return false;  
  14. }  
  15. catch(IOException e)  
  16. {  
  17. return false;  
  18. }  
  19. return true;  
  20. }  
  21. }  

在onCreate()中增加如下代码:Write(”blog.xml”,writeXml())。运行程序,打开DDMS查看写入的XML文档,文件存放在data/data/{package}/files文件夹下,如下:
 

还可以将这个文件从File Explorer中导出到电脑中查看XML文档的具体内容,与输出的字符串完全一样。
总结说明
XML文件的写入就完成了,想必大家对串行化也有应该有一些了解,具体的需要引用那些package请大家到Android SDK去仔细查看吧。
分享到:
评论

相关推荐

    android 自定义xml存储方式以及存储位置

    1. 内存中的XML:在程序运行时,可以使用`org.w3c.dom`或`javax.xml.parsers`包下的类动态创建和解析XML文档。例如,使用`DocumentBuilderFactory`创建`DocumentBuilder`对象,然后通过`parse()`方法加载XML字符串或...

    Android高手进阶教程与Android基础教程

    Android读写XML(下)——创建XML文档.doc Android读写XML(中)——SAX.doc Android高手进阶教程之----Android Handler的使用!!! .doc Android高手进阶教程之----Android Launcher抽屉类SlidingDrawer的使用.doc ...

    安卓Android源码——比较通用的xml解析方法.zip

    - `StaX`:Streaming API for XML,是另一种基于流的解析方式,介于SAX和DOM之间,提供了一种可读写XML的流式API。 - 第三方库如`Jackson`、`Gson`等,虽然主要用于JSON解析,但在特定场景下也能处理XML,尤其在...

    android xml文件操作

    SAX则是事件驱动的解析器,适用于处理大型XML文档,以节省内存。 2. SharedPreferences:这是Android系统提供的轻量级数据存储方式,通常用于保存应用的配置信息,数据格式就是XML。 3. AndroidManifest.xml:这是每...

    Android中文翻译组——Android中文API合集(3).zip_android_手册

    《Android中文API合集(3)》是Android开发者的重要参考资料,由Android中文翻译组精心编译,旨在为中文用户提供方便、易懂的Android API文档。这个合集主要涵盖了Android开发中的各种关键知识点,包括但不限于组件...

    安卓Android源码——日记本.zip

    2. **XML布局文件**: Android使用XML来定义用户界面,比如在res/layout目录下可能会有activity_main.xml,它定义了日记应用的UI布局。这些文件中会包含TextView、EditText、Button等组件,以及它们的属性和排列方式...

    Android源码——完整的通讯录项目源码.7z

    3. **布局文件(XML)**:在Android中,用户界面通常使用XML文件来描述,这些文件通常位于res/layout目录下。通讯录应用可能会包含多个布局,如联系人列表视图、联系人详情页等。 4. **数据存储**:通讯录数据通常...

    安卓Android源码——仿小米便签.zip

    【标题】"安卓Android源码——仿小米便签"是一个关于安卓应用开发的项目,它旨在实现一个类似于小米便签的应用。这个项目的核心是通过分析和理解小米便签的功能和界面设计,用Android原生代码来创建一个类似的用户...

    Android项目之——漂亮的平台书架.zip

    这包括使用Android Studio中的布局工具(如XML布局文件)创建直观的界面,以及利用Material Design指南来确保应用具有现代感和一致性。开发者可能使用了自定义控件和动画效果来增强用户体验。 2. **数据存储**:...

    安卓Android源码——安卓Android系统访问串口设备源码.rar

    这份"安卓Android源码——安卓Android系统访问串口设备源码.rar"压缩包提供了相关的源代码和资料,帮助开发者理解和实现这一功能。 首先,我们需要了解的是Android系统对串口的支持。在Linux内核的基础上构建的...

    安卓Android源码——一个短信源码.rar

    【标题】"安卓Android源码——一个短信源码.rar" 提供的是Android系统中与短信相关的源代码,这对于我们理解Android平台如何处理短信服务、广播接收器、内容提供者以及与此相关的用户界面至关重要。Android是一个...

    安卓Android源码——OA精灵2011_版.zip

    6. **XML布局**:Android应用的UI通常通过XML文件来定义,开发者可以使用布局文件创建复杂的用户界面。 7. **服务(Service)**:如果OA精灵需要在后台运行某些任务,可能会使用Service组件。 8. **...

    安卓Android源码——解析word文档,过程详细,易懂,代码可直接复用.zip

    6. **权限管理**:由于涉及到读写文件,别忘了在AndroidManifest.xml中添加读写外部存储的权限。 ```xml &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/&gt; &lt;uses-permission android:...

    安卓Android源码——解析word文档,过程详细,易懂,代码可直接复用.rar

    在AndroidManifest.xml中添加`READ_EXTERNAL_STORAGE`或`WRITE_EXTERNAL_STORAGE`权限,以允许应用读写文件。 7. **用户交互**:为了提供良好的用户体验,可能需要设计合适的UI界面,让用户能够浏览、搜索、复制和...

    xml自动生成java代码(改)

    DOM解析是处理XML文档的一种方法,它将整个XML文件加载到内存中的一个树形结构——DOM(Document Object Model)中。这样,开发者可以通过DOM节点来访问和修改XML文档的任何部分。在Android中,可以使用`javax.xml....

    安卓Android源码——[安卓开源]高仿开心网.zip

    虽然只有一个文件名 "安卓Android源码——[安卓开源]高仿开心网.zip",但我们可以推测这可能包含了一系列的源代码文件、资源文件(如图片、布局XML)、配置文件(如AndroidManifest.xml)和其他相关文档。...

    安卓xml解析

    **安卓XML解析** ...DOM(Document Object Model)解析器一次性加载整个XML文档到内存中,构建一个树形结构,便于开发者遍历和修改XML文档。其优点是操作方便,缺点是对内存消耗较大,适合小型XML文件。 ```java ...

Global site tag (gtag.js) - Google Analytics