JAVA SAX 读取xml文档
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import javax.xml.parsers.ParserConfigurationException;
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 SaxTest {
public static void main(String[] args) {
DefaultHandler handler = new DefaultHandler(){
/*
* 读取标签开始
* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
*/
@Override
public void startElement(String uri, String localName,
String qName, Attributes attributes) throws SAXException {
System.out.println(11);
if(qName.equals("property") && attributes != null){
for(int i = 0; i<attributes.getLength();i++){
String aname = attributes.getLocalName(i);
if(aname.equals("name")) System.err.println(attributes.getValue(i));
}
}
}
/*
* 读取文本节点
* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
*/
public void characters(char[] ch,
int start,
int length)
{
System.err.println(new String(ch));
}
/*
* 读取标签结束
* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public void endElement(String uri, String localName,
String qName) throws SAXException {
System.out.println(11);
if(qName.equals("property")){
System.err.println(qName);
}
}
};
SAXParserFactory fa = SAXParserFactory.newInstance();
fa.setNamespaceAware(true);
try {
SAXParser sp = fa.newSAXParser();
InputStream in = new FileInputStream("E:"+File.separator+"s"+File.separator+"hibernate.cfg.xml");
sp.parse(in, handler);
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
}
}
本文介绍了一个使用 Java 的 SAX (Simple API for XML) 解析器来解析 XML 文档的示例程序。通过自定义 DefaultHandler 类,实现了对 XML 文档中特定元素的开始、结束及文本内容的读取。
 读取xml文档 简单列子&spm=1001.2101.3001.5002&articleId=50813965&d=1&t=3&u=27262cfc35fb41d4ac04629d873286b1)
5万+

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



