1. 程式人生 > >【達內課程】dom4j解析XML

【達內課程】dom4j解析XML

這裡寫圖片描述

這裡寫圖片描述

如何用dom4j解析xml

這裡寫圖片描述
這裡寫圖片描述

2、新建佈局檔案,給按鈕新增點選事件
3、MainActivity

import android.content.res.AssetManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import org.dom4j.Document;
import org.dom4j.Element;
import
org.dom4j.io.SAXReader; import java.io.InputStream; import java.util.Iterator; import java.util.List; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btn_dom4j; @Override protected void onCreate(Bundle savedInstanceState) { super
.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setViews(); } private void setViews() { btn_dom4j = findViewById(R.id.btn_dom4j); btn_dom4j.setOnClickListener(this); } @Override public void onClick(View view) { switch
(view.getId()) { case R.id.btn_dom4j: try { parseBookXml(); } catch (Exception e) { e.printStackTrace(); } break; } } private void parseBookXml() throws Exception { //讀取assets目錄下的books.xml AssetManager assetManager = getAssets(); InputStream is = assetManager.open("books.xml"); //1\獲取document物件 SAXReader reader = new SAXReader(); Document document = reader.read(is); //2\獲取根節點 Element root = document.getRootElement(); //3\獲取root下的所有book標籤 List<Element> books = root.elements(); //遍歷 for(Element e:books){ //e代表一個book標籤,解析並列印標籤內容 Iterator<Element> ite = e.elementIterator(); while (ite.hasNext()){ Element childElement = ite.next(); Log.d("info","標籤名:"+childElement.getName()+";標籤內容:"+childElement.getTextTrim()); } } } }

檢視Log

    標籤名:isbn;標籤內容:ABC-135-4BC
    標籤名:name;標籤內容:十萬個為什麼(1)
    標籤名:price;標籤內容:100
    標籤名:author;標籤內容:Dr.<Lee
    標籤名:isbn;標籤內容:ABC-136-4BC
    標籤名:name;標籤內容:十萬個為什麼(2)
    標籤名:price;標籤內容:200
    標籤名:author;標籤內容:Dr.Lee
    標籤名:isbn;標籤內容:ABC-137-4BC
    標籤名:name;標籤內容:十萬個為什麼(3)
    標籤名:price;標籤內容:300
    標籤名:author;標籤內容:Dr.Lee

更多dom4j使用,檢視