SAX½âÎöXML(Ô´´úÂ룩
package book.xml;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
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 SaxXML {
public static List readXML(String fileName)throws Exception{
SAXParserFactory spf=SAXParserFactory.newInstance();//´´½¨SAX½âÎöÆ÷¹¤³§¶ÔÏó
SAXParser saxParser=spf.newSAXParser();//ʹÓýâÎöÆ÷¹¤³§´´½¨½âÎöÆ÷ʵÀý
//´´½¨SAX½âÎöÆ÷ҪʹÓõÄʼþ¼àÌýÆ÷¶ÔÏó
StudentSAXHandler handler=new StudentSAXHandler();
saxParser.parse(new File(fileName),handler);//¿ªÊ¼½âÎöÎļþ
return handler.getResult();//»ñÈ¡½á¹û
}
public static void main(String[] args) {
String filename="student.xml";
List studentBeans=null;
try{
studentBeans=SaxXML.readXML(filename);
}catch(Exception e){
System.err.println(e.getMessage());
}
if(studentBeans!=null){
System.out.println("½âÎöstudent.xmlÎĵµµÃµ½µÄѧÉúÐÅÏ¢£º");
for(int i=0;i<studentBeans.size();i++){
System.out.println(studentBeans.get(i).toString());
}
}
}
/**
* SAXµÄʼþ¼àÌýÆ÷£¬µ±´¦ÀíÌØ¶¨µÄXMLÎļþµÄʱºò£¬¾ÍÐèҪΪ
* Æä´´½¨Ò»¸ö¼Ì³ÐDefaultHandlerµÄÀàÀ´´¦ÀíÌØ¶¨µÄʼþ
* ¿ÉÒÔ˵£¬Õâʵ¼ÊÉϾÍÊÇSAX´¦ÀíXMLÎļþµÄºËÐÄ
* @author wuhailin
*
*/
static class StudentSAXHandler extends DefaultHandler{
//±£´æÒѾ¶Áµ½¹ýµ«»¹Ã»ÓйرյıêÇ©
Stack tagsStack=new Stack();
List studentBeans=new ArrayList();
StudentBean bean=null;
/**µ±Óöµ½ÎĵµµÄ¿ªÍ·µÄʱºò£¬µ÷ÓÃÕâ¸ö·½·¨£¬¿ÉÒÔÔÚÆäÖÐ×öһЩԤ´¦ÀíµÄ¹¤×÷*/
public void startDocument()throws SAXException{
System.out.println("--------Parse begin---------");
}
Ïà¹ØÎĵµ£º
1£©XmlÎĵµÊ¾Àý£¨xmlsample.xml£©£º
Code
<?xml version="1.0" encoding="iso-8859-1" ?>
<music>
<song title="Oh,girl">
<artist>The Chi-lites</artist>
<genre>Soul</genre>
&nb ......
2£©ÈçºÎ´´½¨Ò»¸öxmlÎĵµ
ÓÉÓÚxmlʵÖÊÒ²Ö»ÊÇÒ»¸öÎı¾Îļþ£¬ËùÒÔ×î¼òµ¥Äã¿ÉÒÔÖ±½ÓʹÓÃSystem.IOϵÄÀàÉú³ÉÒ»¸öÎļþ£¬²¢´æ´¢³ÉxmlÎļþ£¬µ±È»£¬ÄãÐèÒªÊÖ¶¯±£Ö¤¸ÃÎļþÐÎʽÁ¼ºÃ£¬±ÈÈç±ØÐëÓиùÔªËØ¡¢±ØÐëÓйرձêÇ©¡¢±ØÐëÕýȷǶÌ׵ȵȡ£
Èç¹ûÄãÀÁµÃ×Ô¼ºÈ¥ÏëÎļþµÄÐÎʽ£¬¿ÉÒÔʹÓÃSystem.XmlϵÄÀà¡£
Code
Xml ......
1¡¢°²×°DOM4j
http://www.dom4j.org/
2¡¢°²×°jaxen
http://jaxen.org/releases.html
3¡¢´úÂë
package extract;
import java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;
import java.util.*;
public class XmlExtract {
private SAXReader reader;
private Docum ......
DECLARE @XMLdoc XML
SET @XMLdoc =
'<Book name="SQL Server 2000 Fast Answers">
<Chapters>
<Chapter id="1" name="Installation, Upgrades">
<CreateDate>2009-12-30</CreateDate>
</Chapter>
<Chapter id="2" name="Configuring SQL Server"/>
<Chapter i ......
SAX¸ÅÄî
SAXÊÇSimple API for XML
µÄËõд£¬Ëü²¢²»ÊÇÓÉW3C¹Ù·½ËùÌá³öµÄ±ê×¼£¬¿ÉÒÔ˵ÊÇ“Ãñ¼ä”µÄÊÂʵ±ê×¼¡£Êµ¼ÊÉÏ£¬ËüÊÇÒ»ÖÖÉçÇøÐÔÖʵÄÌÖÂÛ²úÎï¡£ËäÈ»Èç´Ë£¬ÔÚXMLÖжÔSAXµÄÓ¦ÓÃË¿ºÁ²»±ÈDOMÉÙ£¬¼¸ºõËùÓеÄXML½âÎöÆ÷¶¼»áÖ§³ÖËü¡£
Óë
DOM±È½Ï¶øÑÔ£¬SAXÊÇÒ»ÖÖÇáÁ¿Ð͵ķ½·¨¡£ÎÒÃÇÖªµÀ£¬ÔÚ´¦ÀíDOMµÄʱºò£¬Î ......