之前內容請參看:好東西大家分享:java&xml的學習心得(1)
   XMLToolTest.class實現了對xml文檔的操作。包括建立一個新xml document.檔結構及內容或從指定xml文件或的document.構和內容,output到指定的xml文件(或更新xml文件),獲取和設定指定節點名的指定屬性(或屬性列表),在指定節點添加子節點、刪除子節點、編輯子節點(先刪除在添加,待完善),支持在文檔中定位(下標定位,和查詢定位,如:定位到test節點的 name attribute的value="張治中"的節點,有簡單的復合查詢定位,暫時是全and的關系. :) ),定位后可以和全面的操作聯合使用(有點數據庫的影子,和自己想做的應用有關)。后來又根據它做了一個數據庫和xml對導的例子。代碼如下: 
package com.ceic.workflow.xml.Tool; 
import com.ceic.workflow.xml.*; 
import org.w3c.dom.*; 
/** 
* Title: XML處理工具的 運算和實現部分的接口 
* Description: XML處理工具的 運算和實現部分的接口 
* Copyright: Copyright (c) 2003 
* Company: 國電信息中心 
* @author 張治中 
* @version 1.0 
* XML處理工具的 運算和實現部分 的接口 
* XMLTool的實現子類,其中的XML解析器從XMLParserFactory中獲得. 
* 沒有說明的方法和參數參見XMLTool接口. 
*/ 
public class XMLToolTest implements XMLTool 
{ 
 PRivate XMLParser parser; 
private String ParserType= 
XMLParserFactory.getDefaultType(); 
private String ParserClassName=""; 
private int Index=0; 
private String markName=""; 
private document.nbspdoc; 
private int DefaultBegin=0; 
private String encoding="UTF8"; 
private String filepath=""; 
private boolean EnableMakeUp=false; 
private String header=" "; 
public XMLToolTest() 
{ 
} 
public Object Build(String path, boolean vali) 
{ 
if(path!=null&&path.length() >0){ 
parser=XMLParserFactory.getXMLParser 
(ParserType,ParserClassName); 
if(parser!=null){ 
doc=(document.parser.parse(path,vali); 
filepath=path; 
return doc; 
} 
} 
return null; 
} 
public Object Build(String xmlString) 
{ 
if(xmlString!=null&&xmlString.length() >0){ 
parser=XMLParserFactory.getXMLParser 
(ParserType,ParserClassName); 
if(parser!=null){ 
doc=(document.parser.parseString(xmlString); 
filepath=""; 
return doc; 
} 
} 
return null; 
} 
public void setdocument.ource(document.nbspdocs){ 
doc=docs; 
} 
public void setParser(String ParserName, String ClassName) 
{ 
if(ParserName!=null&&ParserName.length() >0){ 
ParserType=ParserName; 
ParserClassName=ClassName; 
} 
} 
public void setProperty(String NodeName,String 
propertyName,String value,boolean setall){ 
try{ 
NodeList list=doc.getElementsByTagName(NodeName); 
if(list.getLength() >0&&value!=null&&value.length()>0) 
{ 
if(setall){ 
for(int i=0;i 
新聞熱點
疑難解答