当前位置: 技术问答>java相关
怎样解析xml文档?急切求助!!请教高手了??
来源: 互联网 发布时间:2015-02-24
本文导语: 怎样使用SAX来解析xml文档??希望有具体的实现代码!多谢! 通过实现handlerbase接口,来解析xml文档具体应该怎样去做? 求教高手!! | 给你个例子吧。 package xml; /** 解析setup.xml文件的Handler模块 @auth...
怎样使用SAX来解析xml文档??希望有具体的实现代码!多谢!
通过实现handlerbase接口,来解析xml文档具体应该怎样去做?
求教高手!!
通过实现handlerbase接口,来解析xml文档具体应该怎样去做?
求教高手!!
|
给你个例子吧。
package xml;
/**
解析setup.xml文件的Handler模块
@author:sharetop(ycshowtop@21cn.com)
@version:1.0.1
created date: 2001.4.2
**/
import java.util.*;
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class setupHandler extends HandlerBase
{
final private String ELE_PRODUCT = "ProductInfo";
final private String ELE_TYPE = "Type";
final private String ELE_NAME = "Name";
final private String EXT_ELEMENT = "Action";
private ArrayList allTypeList=null;
private ArrayList allNameList=null;
private Hashtable setting=null;
private String productFactor=null;
private String elementFactor=null;
private String typeFactor=null;
private String curProductName = null;
/**
构造函数
两个参数,指定属性环境及属性类型,用于返回一个特定类型的所有属性值。
**/
public setupHandler(String product,String environment,String propertyType)
{
this.productFactor=product;
this.elementFactor=environment+EXT_ELEMENT;
this.typeFactor=propertyType;
}
/**
构造函数
一个参数,指定属性环境,用于返回本环境下的所有属性类型字串。
**/
public setupHandler(String product,String environment)
{
this.productFactor=product;
this.elementFactor=environment+EXT_ELEMENT;
this.typeFactor=null;
}
public setupHandler(String product)
{
this.productFactor=product;
this.elementFactor=null;
this.typeFactor=null;
}
public setupHandler()
{
this.productFactor=null;
this.elementFactor=null;
this.typeFactor=null;
}
/**
取结果,所有类型字串的一个arraylist。
@return 所有类型字串的ArrayList。
**/
public ArrayList getTypesResult()
{
return allTypeList;
}
/**
取结果,一个特定类型的所有属性值。
@return 一个记录了所有属性值的hashtable。
**/
public Hashtable getPropertyResult()
{
return setting;
}
public ArrayList getNamesResult()
{
return allNameList;
}
/**
开始解析文档。
**/
public void startDocument() throws SAXException
{
if(elementFactor!=null) allTypeList = new ArrayList();
if(productFactor==null) allNameList = new ArrayList();
}
/**
开始解析元素。
**/
private void parseNamesList(AttributeList atts)
{
if( atts != null)
{
for(int i=0;i