使用SAX解析XML
SAX(Simple API for XML简称SAX)事件是无状态的,也就是说,当接收到字符数据的事件后,并不知道该字符数据是哪一个元素的
内容。同样地,当收到元素开始的事件后,也无法知道该元素是否有父元素,是否有子元素,这是
SAX和DOM不同的地方。SAX解析器本身并不提供元素的上下文信息,所有相关信息的记录需要我们自
己编程去实现
SaxXml类加载XML数据流,(目前用字符串代替),建立解析工厂,生产SAX解析对象
import java.io.ByteArrayInputStream;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;
public class SaxXml {
private SaxXml() {
}
SaxXml(String xmlFile) {
try{
String xmltest = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"
+"<home>"
+"<name>张三</name>"
+"<sex>男</sex>"
+"<age>20</age>"
+"</home>";
byte[] data1 = xml.getBytes();
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setValidating(true);
SAXParser sax = factory.newSAXParser();
sax.parse(new ByteArrayInputStream(data1), XmlHandler.handler/*new XmlHandler()*/ );
} catch (ParserConfigurationException pce) {
System.out.println("Could not create that parser.");
System.out.println(pce.getMessage());
} catch (SAXException saxe) {
System.out.println("Problem wITh the SAX parser.");
System.out.println(saxe.getMessage());
} catch (Exception e) {
e.printStackTrace();
&n
相关文档:
XML学习完了,老师说在面试的时候有可能要问到这些,所以又找了些资料,在MLDN的这段日子里,老师们都把各个面试中有可能要问到的问题都帮我们一一总结,真的很感谢MLDN的全部老师,项目老师帮我们认真的讲解项目,辅导项目,教学老师帮我们认真总结各个技术,感谢,真的是感谢,呵呵,我会努力搞好的
Java中四种XML ......
public int createXMLFile(String filename) {
int returnValue = 0;
Document document = DocumentHelper.createDocument(); //生成Document,用于管理XML文档
Element booksElement = document.addElement("books"); //添加 ......
AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性
能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人
们开始意识到其重要性.
这两项被忽视的性能是:
* 无需重新装载整个页面便能向服务器发送请求.
* 对XML文档的解析和处理.
......
import java.io.File;
import java.io.FileNotFoundException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ResolveXmlFile {
public void resolverXml() throws DocumentException, FileNotFoundExcept ......
package com.jcauto.action;
import java.util.ArrayList;
import java.util.List;
public class ContentRsp {
private String resultCode;
List<ContentInfo> contentList = new ArrayList<ContentInfo>();
public void addContent(ContentInfo contentInfo) {
contentList.add(contentI ......