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

    Android XML解析使用DOM解析器

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

    DOM解析器相對于SAX解析器的優(yōu)點

    它可以用來創(chuàng)建和解析XML文件,而SAX解析器只能用來解析XML文件。愛掏網(wǎng) - it200.com

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

    它消耗的內(nèi)存比SAX解析器多。愛掏網(wǎng) - it200.com

    Android DOM解析的示例

    activity_main.xml

    從控件面板中拖動一個TextView控件。愛掏網(wǎng) - it200.com現(xiàn)在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目錄中創(chuàng)建一個名為file.xml的xml文件。愛掏網(wǎng) - 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。愛掏網(wǎng) - 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();
    }
    
    }
    

    下載此示例

    輸出:

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評論
    更多 網(wǎng)友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 一区 二区 三区 中文字幕| 精品中文字幕一区二区三区四区 | 无码av免费一区二区三区试看| 国内国外日产一区二区| 亚洲日韩国产一区二区三区在线| 中文字幕一区二区三区精华液| 日本v片免费一区二区三区| 亚欧在线精品免费观看一区| 国产成人久久精品一区二区三区| 国产美女口爆吞精一区二区| 高清一区二区三区视频| 国产伦精品一区二区三区在线观看 | 在线观看精品一区| 在线视频一区二区三区| 日本一区二区三区在线观看| 高清一区二区三区日本久| 人妻少妇精品一区二区三区| 日本一区二区三区高清| 国产日韩一区二区三免费高清| 精品国产日韩亚洲一区| 中文日韩字幕一区在线观看| 精品人妻一区二区三区四区| 一区二区三区免费视频观看| 国产aⅴ一区二区| 日韩一区二区三区视频| 一区二区三区影院| 无码一区二区三区中文字幕| 久久人妻av一区二区软件| 亚洲国产成人一区二区三区| 蜜桃臀无码内射一区二区三区| 性色AV一区二区三区| 亚洲日韩AV无码一区二区三区人| 午夜影院一区二区| 亚洲AV无码一区二区大桥未久| 日本伊人精品一区二区三区 | 亚洲av片一区二区三区| 香蕉视频一区二区| 国产精品视频一区二区噜噜| 亚洲日本久久一区二区va| 日韩在线视频不卡一区二区三区| 日本中文一区二区三区亚洲|