『壹』 如何用java解析xml文檔,然後將數據存到資料庫里
package test11;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
public class XMLUtil
{
//該方法用於從XML配置文件中提取具體類類名,並返回一個實例對象
public static Object getBean()
{
try
{
//創建文檔對象
DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dFactory.newDocumentBuilder();
Document doc;
doc = builder.parse(new File("config.xml"));
//獲取包含類名的文本節點
NodeList nl = doc.getElementsByTagName("className");
Node classNode=nl.item(0).getFirstChild();
String cName=classNode.getNodeValue();
//通過類名生成實例對象並將其返回
Class c=Class.forName(cName);
Object obj=c.newInstance();
return obj;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
}
<?xml version="1.0"?>
<config>
<className>test11.CatAdapter</className>
</config>
然後你吧解析處理的值放到數組或LIST或其他的你能存放的對象中。再寫SQL插入到資料庫就好了啊。主要資料庫事務處理或用批處理
『貳』 android開發從後台獲取xml數據怎麼解析
Android--3種解析XML數據的步驟
採用DOM解析時具體處理步驟是:
1 首先利用DocumentBuilderFactory創建一個DocumentBuilderFactory實例
2 然後利用DocumentBuilderFactory創建DocumentBuilder
3 然後載入XML文檔(Document),
4 然後獲取文檔的根結點(Element),
5 然後獲取根結點中所有子節點的列表(NodeList),
6 然後使用再獲取子節點列表中的需要讀取的結點。
採用SAX解析時具體處理步驟是:
1 創建SAXParserFactory對象
2 根據SAXParserFactory.newSAXParser()方法返回一個SAXParser解析器
3 根據SAXParser解析器獲取事件源對象XMLReader
4 實例化一個DefaultHandler對象
5 連接事件源對象XMLReader到事件處理類DefaultHandler中
6 調用XMLReader的parse方法從輸入源中獲取到的xml數據
7 通過DefaultHandler返回我們需要的數據集合。
採用PULL解析基本處理方式:
1:當導航到XmlPullParser.START_DOCUMENT,可以不做處理,當然你可以實例化集合對象等等。
2:當導航到XmlPullParser.START_TAG,則判斷是否是river標簽,如果是,則實例化river對象,並調用getAttributeValue方法獲取標簽中屬性值。
3:當導航到其他標簽,比如Introction時候,則判斷river對象是否為空,如不為空,則取出Introction中的內容,nextText方法來獲取文本節點內容
4:它一定會導航到XmlPullParser.END_TAG的,有開始就要有結束嘛。在這里我們就需要判讀是否是river結束標簽,如果是,則把river對象存進list集合中了,並設置river對象為null.
幾種解析技術的比較與總結:
對於Android的移動設備而言,因為設備的資源比較寶貴,內存是有限的,所以我們需要選擇適合的技術來解析XML,這樣有利於提高訪問的速度。
1 DOM在處理XML文件時,將XML文件解析成樹狀結構並放入內存中進行處理。當XML文件較小時,我們可以選DOM,因為它簡單、直觀。www.2cto.com
2 SAX則是以事件作為解析XML文件的模式,它將XML文件轉化成一系列的事件,由不同的事件處理器來決定如何處理。XML文件較大時,選擇SAX技術是比較合理的。雖然代碼量有些大,但是它不需要將所有的XML文件載入到內存中。這樣對於有限的Android內存更有效,而且Android提供了一種傳統的SAX使用方法以及一個便捷的SAX包裝器。
3 XML pull解析並未像SAX解析那樣監聽元素的結束,而是在開始處完成了大部分處理。這有利於提早讀取XML文件,可以極大的減少解析時間,這種優化對於連接速度較漫的移動設備而言尤為重要。對於XML文檔較大但只需要文檔的一部分時,XML Pull解析器則是更為有效的方法。
。。具體你可以再查看相關資料。