android(12)_解析xml文件1_dom
DOM解析XML文件时,会将XML文件的所有内容以对象树方式存放在内存中,然后允许您使用DOM API遍历XML树、检索所需的数据。
使用DOM操作XML的代码看起来比较直观,并且,在某些方面比基于SAX的实现更加简单。
但是,因为DOM需要将XML文件的所有内容以对象树方式存放在内存中,所以内存的消耗比较大,特别对于运行Android的移动设备来说,因为设备的资源比较宝贵,所以建议还是采用SAX来解析XML文件,当然,如果XML文件的内容比较小采用DOM是可行的。
Strings.xml
[html]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">lession03_xml</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="btn_sax">采用sax解析xml文件</string>
<string name="btn_dom">采用dom解析方式解析</string>
<string name="btn_pull">采用pull解析方式解析</string>
<string name="btn_cpull">采用pull解析生成xml文件</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">lession03_xml</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="btn_sax">采用sax解析xml文件</string>
<string name="btn_dom">采用dom解析方式解析</string>
<string name="btn_pull">采用pull解析方式解析</string>
<string name="btn_cpull">采用pull解析生成xml文件</string>
</resources>
activity_xml.xml
[html]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".XmlActivity" >
<Button
android:id="@+id/button_cpull"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_pull"
android:layout_alignRight="@+id/btn_pull"
android:layout_below="@+id/btn_pull"
android:layout_marginTop="20dp"
android:text="@string/btn_cpull" />
<Button
android:id="@+id/btn_sax"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:text="@string/btn_sax" />
<Button
android:id="@+id/btn_pull"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_dom"
android:layout_alignRight="@+id/btn_dom"
android:layout_below="@+id/btn_dom"
android:layout_marginTop="68dp"
android:text="@string/btn_pull" />
<Button
android:id="@+id/btn_dom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_sax"
android:layout_alignRight="@+id/btn_sax"
android:layout_below="@+id/btn_sax"
android:layout_marginTop="60dp"
android:text="@string/btn_dom" />
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".XmlActivity" >
<Button
android:id="@+id/button_cpull"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_pull"
android:layout_alignRight="@+id/btn_pull"
android:layout_below="@+id/btn_pull"
android:layout_marginTop="20dp"
android:text="@string/btn_cpull" />
<Button
android:id="@
补充:移动开发 , Android ,