07/11/11 01:59:26
>>641の続きです。
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
public class SAXSearchHandler extends DefaultHandler {
String target; /* 検索対象の商品名 */
String productName; /* 商品名を保管する変数 */
String price; /* 価格を保管する変数 */
boolean insideNameElem = false; /* 商品名の要素に入っていることを示すフラグ変数 */
boolean insidePriceElem = false; /* 価格の要素に入っていることを示すフラグ変数 */
public SAXSearchHandler(String target) {super(); this.target = target;
}
public void startDocument() throws SAXException {
// Document開始時の処理 }
public void endDocument() throws SAXException {
// Document終了時の処理 }
public void startElement(String uri, String localpart, String name, Attributes amap) {// Element開始時の処理
if(name.equals("ProductList")) { /* ルート要素に対する処理 */
} else if(name.equals("name")) { /* 商品名要素に対する処理 */
} else if(name.equals("price")) { /* 価格要素に対する処理 */
}
}
public void endElement(String uri, String localName, String qName) throws SAXException {
// Element終了時の処理
if(qName.equals("Product")) {
/* 商品要素が閉じられたときの処理 */
} else if(qName.equals("name")) { /* 商品名要素が閉じられたときの処理 */
} else if(qName.equals("price")) { /* 価格要素が閉じられたときの処理 */
} else if(qName.equals("ProductList")) { /* ルート要素が閉じられたときの処理 */ } }
public void characters(char[] ch, int start, int length) {
// Text情報の受け取り
String text = new String(ch,start,length);
/* 商品名や価格の保存 */ }}