使用SAX解析XML文件

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

/*

<PHONEBOOK>

<PERSON>

<NAME>Joe Yin</NAME>

<EMAIL>joe@yourserver.com</EMAIL>

<TELEPHONE>202-999-9999</TELEPHONE>

<WEB>www.Java2s.com</WEB>

</PERSON>

<PERSON>

<NAME>Karol</name>

<EMAIL>karol@yourserver.com</EMAIL>

<TELEPHONE>306-999-9999</TELEPHONE>

<WEB>www.java2s.com</WEB>

</PERSON>

<PERSON>

<NAME>Green</NAME>

<EMAIL>green@yourserver.com</EMAIL>

<TELEPHONE>202-414-9999</TELEPHONE>

<WEB>www.java2s.com</WEB>

</PERSON>

</PHONEBOOK>

*/

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;

public class NameLister {

public static void main(String args[]) {

if (args.length != 1) {

System.err.println("Usage: java NameLister xmlfile.xml");

System.exit(-1);

}

try {

SAXParserFactory factory = SAXParserFactory.newInstance();

SAXParser saxParser = factory.newSAXParser();

DefaultHandler handler = new DefaultHandler() {

boolean name = false;

public void startElement(String uri, String localName,

String qName, Attributes attributes)

throws SAXException {

if (qName.equalsIgnoreCase("NAME")) {

name = true;

}

}

public void characters(char ch[], int start, int length)

throws SAXException {

if (name) {

System.out.println("Name: "

+ new String(ch, start, length));

name = false;

}

}

};

saxParser.parse(args[0], handler);

} catch (Exception e) {

e.printStackTrace();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有