XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<item title="chunjie" date="2008-02-02"/>
<item title="guoqin" date="2007-10-01"/>
<abc>aaabbbccc</abc>
<abc>ddddddddd</abc>
</config>
JAVA类
/**
*
*/
package com.guyong.swing;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author Iorn Gu
*
*/
public class ConfigHandler extends DefaultHandler {
private final Map<String, String> dates = new HashMap<String, String>();
private String currentValue = null;
@Override //开始Element
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException {
if( "item".equals(name) ) {
dates.put(attributes.getValue("title"), attributes.getValue("date"));
}
//把item属性值赋到Map里
}
@Override //结束Element
public void endElement(String uri, String localName, String name)
throws SAXException {
if( "abc".equals(name) ) {
System.out.println("abc=" + currentValue);
}
//abc时得到值
}
@Override //值
public void characters(char[] ch, int start, int length)
throws SAXException {
currentValue = new String(ch,start,length);
}
public String getDate(String value) {
return dates.get(value);
}
public static void main(String[] args) throws Exception {
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
InputStream fis = ConfigHandler.class.getResourceAsStream("test.xml");
ConfigHandler handler = new ConfigHandler();
parser.parse(fis, handler);
System.out.println(handler.getDate("chunjie"));
System.out.println(handler.getDate("guoqin"));
}
}
<?xml version="1.0" encoding="UTF-8"?>
<config>
<item title="chunjie" date="2008-02-02"/>
<item title="guoqin" date="2007-10-01"/>
<abc>aaabbbccc</abc>
<abc>ddddddddd</abc>
</config>
JAVA类
/**
*
*/
package com.guyong.swing;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author Iorn Gu
*
*/
public class ConfigHandler extends DefaultHandler {
private final Map<String, String> dates = new HashMap<String, String>();
private String currentValue = null;
@Override //开始Element
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException {
if( "item".equals(name) ) {
dates.put(attributes.getValue("title"), attributes.getValue("date"));
}
//把item属性值赋到Map里
}
@Override //结束Element
public void endElement(String uri, String localName, String name)
throws SAXException {
if( "abc".equals(name) ) {
System.out.println("abc=" + currentValue);
}
//abc时得到值
}
@Override //值
public void characters(char[] ch, int start, int length)
throws SAXException {
currentValue = new String(ch,start,length);
}
public String getDate(String value) {
return dates.get(value);
}
public static void main(String[] args) throws Exception {
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
InputStream fis = ConfigHandler.class.getResourceAsStream("test.xml");
ConfigHandler handler = new ConfigHandler();
parser.parse(fis, handler);
System.out.println(handler.getDate("chunjie"));
System.out.println(handler.getDate("guoqin"));
}
}