當前位置:成語大全網 - 書法字典 - xml格式的字符串解析

xml格式的字符串解析

時間太少了,只能在過去的基礎上改變。

可以運行,雖然質量不好,但本來是用來分析數據庫配置文件的,哈哈。

導入Java . io . file;

導入Java . util . ArrayList;

導入Java . util . list;

導入org . dom4j . document;

導入org . dom4j . document exception;

導入org . dom4j . element;

導入org . dom4j . node;

導入org . dom4j . io . sax reader;

公共類XmlReaderSAX {

私有靜態字符串file path = " d:\ \ test 1 . XML ";

/**

* @param文件名(文件路徑)

* @返回文檔文檔

*/

私有靜態文檔readXmlFlie(字符串文件名){

SAXReader reader = new SAXReader();

文檔document = null

嘗試{

document = reader.read(新文件(文件名));

} catch (DocumentException e) {

e . printstacktrace();

}

返回文檔;

}

/**

* @param xmlDocument

* @返回字符串文件內容

*/

公共靜態字符串Document tostr(Document XML Document){

string XML str = XML document . asxml();

返回xmlStr

}

/**

* @return Document文檔(database.xml)

*/

公共靜態文檔getDatabaseXML(){

返回readXmlFlie(file path);

}

//獲取根節點

公共靜態元素getRootElement(Document doc){

返回doc . getrootelement();

}

//xml的指定節點的子節點遍歷,包括自身。

公共靜態列表getall elements(Element Element){

ArrayList & lt元素& gtlist = new ArrayList & lt元素& gt();

list.add(元素);

返回getSubElements(element,list);

}

//xml的指定節點的子節點遍歷不包含自身。

公共靜態列表getSubElements(Element元素,ArrayList & lt元素& gt列表){

for(int i=0,size = element . node count();我& lt尺寸;i++){

node node = element . node(I);

if(元素的節點實例){

Element子元素= (Element)節點;

list.add(子元素);

getSubElements(子元素,列表);

}

}

退貨單;

}

//獲取指定名稱的節點列表。

公共靜態列表getNamedElements(字符串名稱){

ArrayList & lt元素& gtlist = new ArrayList & lt元素& gt();

list all list = get all elements(getDatabaseXML()。getRootElement());

for(int I = 0;我& ltall list . size();i++){

Element ele =(Element)all list . get(I);

If (ele.getname()。等於忽略的case(name)| | ele . get qualified name()。等於忽略的大小寫(名稱)){//忽略大小寫。

list . add(ele);

}

}

退貨單;

}

公共靜態void main(String[] args) {

list list = getNamedElements(" ns 1:string ");

for(int I = 0;我& ltlist . size();i++){

Element ele =(Element)list . get(I);

system . out . println(ele . gettext());

}

}

}