package com.czp;
import java.io.File;
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;
/***
* 簡單的xml文件解析方式
* @author Caozp
* @version 1.0
*
*/
public class MySaxXml extends DefaultHandler {
@Override
public void endDocument() throws SAXException {
super.endDocument();
}
@Override
public void endElement(String uri, String localName, String name)
throws SAXException {
super.endElement(uri, localName, name);
}
/***
* 取XML的name and value
*可以将其只放到map中
* @param uri
* @param localName
* @param name
* @param attributes
* @throws SAXException
*/
@Override
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException {
super.startElement(uri, localName, name, attributes);
if(attributes!=null){
for (int i = 0; i < attributes.getLength(); i++) {
System.out.println(attributes.getQName(i)+"\tvalue:"+attributes.getValue(i));
}
}
}
/***
* 实现解析
* @param xmlPath
* @throws Exception
*/
public void reader(String xmlPath) throws Exception{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
parser.parse(new File(xmlPath), new MySaxXml());
}
public static void main(String[] args) throws Exception {
new MySaxXml().reader("D:\\test.xml");
}
}
本文介绍了一种利用Java SAX解析器解析XML文件的方法。通过继承DefaultHandler类并重写关键方法,可以轻松地获取XML文件中的名称和值。文中提供了一个具体的例子,展示了如何读取指定路径下的XML文件。
4697

被折叠的 条评论
为什么被折叠?



