Android XML解析使用DOM解析器含代碼

Android XML解析使用DOM解析器

我們也可以使用DOM解析器來解析XML文檔。愛掏網 - it200.com它可以用來創建和解析XML文件。愛掏網 - it200.com

DOM解析器相對于SAX解析器的優點

它可以用來創建和解析XML文件,而SAX解析器只能用來解析XML文件。愛掏網 - it200.com

DOM解析器相對于SAX解析器的缺點

它消耗的內存比SAX解析器多。愛掏網 - it200.com

Android DOM解析的示例

activity_main.xml

從控件面板中拖動一個TextView控件。愛掏網 - it200.com現在activity_main.xml文件看起來像這樣:

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="75dp"
        android:layout_marginTop="46dp"
        android:text="TextView" />

</RelativeLayout>

xml文檔

在您的項目的assets目錄中創建一個名為file.xml的xml文件。愛掏網 - it200.com

<?xml version="1.0"?>
<records>
<employee>
<name>Sachin Kumar</name>
<salary>50000</salary>
</employee>
<employee>
<name>Rahul Kumar</name>
<salary>60000</salary>
</employee>
<employee>
<name>John Mike</name>
<salary>70000</salary>
</employee>
</records>

Activity類

讓我們編寫代碼使用DOM解析器解析XML。愛掏網 - it200.com

package com.javatpoint.domxmlparsing;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView tv1;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.textView1);
try {
InputStream is = getAssets().open("file.xml");

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);

Element element=doc.getDocumentElement();
element.normalize();

NodeList nList = doc.getElementsByTagName("employee");
for (int i=0; i<nList.getLength(); i++) {

Node node = nList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element2 = (Element) node;
tv1.setText(tv1.getText()+"\nName : " + getValue("name", element2)+"\n");
tv1.setText(tv1.getText()+"Salary : " + getValue("salary", element2)+"\n");
tv1.setText(tv1.getText()+"-----------------------");
}
}//end of for loop

} catch (Exception e) {e.printStackTrace();}

}
private static String getValue(String tag, Element element) {
NodeList nodeList = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodeList.item(0);
return node.getNodeValue();
}

}

下載此示例

輸出:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 欧美性大战久久久久久久| 你懂的网址免费国产| 男男(h)肉视频网站| 少妇无码太爽了不卡视频在线看| 国产91成人精品亚洲精品| 久久人妻av一区二区软件| 青娱乐在线视频观看| 日本伊人色综合网| 国产一区风间由美在线观看| 久久一区二区三区免费播放| 色屁屁www欧美激情在线观看| 无遮无挡非常色的视频免费| 国产va欧美va在线观看| 中国黄色一级片| 粗大的内捧猛烈进出视频一| 女人张腿让男人捅| 亚洲视频在线不卡| 91亚洲欧美综合高清在线| 欧美性v视频播放| 国产成人精品免费视频大全五级| 久久精品无码一区二区三区| 被强制侵犯的高贵冷艳人妇| 抽搐一进一出在深一点 | 人人人妻人人澡人人爽欧美一区| eeuss在线播放| 欧美裸体XXXX极品少妇| 国产精品国产福利国产秒拍 | 一个人hd高清在线观看| 狠狠色综合网站久久久久久久高清 | 国产第一页在线播放| 久久精品国产亚洲av无码麻豆| 野狼第一精品社区| 性欧美69式xxxxx| 亚洲精品亚洲人成在线麻豆| 香蕉免费看一区二区三区| 日韩毛片无码永久免费看| 四虎永久免费地址在线观看| xxxxbbbb国产精品| 欧美性xxxx禁忌| 国产免费人视频在线观看免费| 丁香六月色婷婷|