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---------");
}
Ïà¹ØÎĵµ£º
/**
* ftpÉÏ´«ÎļþJavaBean
* @author Administrator
*
*/
public class FtpBean {
//ftp·þÎñµØÖ·
private String ftpUrl="";
//ftpÓû§Ãû
private String userName="";
//ftpÃÜÂë
private String passWord="";
public String getF ......
3£©¶ÁÈ¡¡¢²éÕÒ
µ±ÄãÊÖÍ·ÓÐÒ»¸öxmlÎļþºó£¬¿ÉÒÔʹÓÃXmlDocument.Load()·½·¨½«Æä¼ÓÔØ½øÀ´ÒԱ㴦Àí£¬ËùÒÔ“¶ÁÈ¡”ûÓÐʲô¿É˵µÄ¡£¶ø“²éÕÒ”²Ù×÷ÍùÍùÉæ¼°XPath£¬ÕâÀïÖ»ÊÇÎÒÈÏΪµÄ±È½Ï³£Óõ½µÄ²éÕÒ²Ù×÷£¬XPathÕâÍæÒâʵÔÚÊǺÜÇ¿´óºÜ±©Á¦¡£
»ØÍ·¿´Ê¾ÀýÎĵµxmlsample.xml£¬ÎÒÃÇ¿ÉÄÜÓöµ½ÕâÑùµÄÐèÇó£ ......
var createXML = function (str) {
if (typeof DOMParser !== "undefined") {
return (new DOMParser()).parsefromString(str, "application/xml");
}else if (typeof ActiveXObject != "undefined") {
if (typeof arguments.callee.activeXString !== "string" ......
ĿǰÔÚʹÓÃDOMºÍdom4j¶ÔXMLÎļþ½øÐÐÔöɾ¸Ä²é£¬Èç¹ûÎÒÔÚͬһ¸öÏß³ÌÖÐ×ö¶à´ÎÔöɾ¸Ä²Ù×÷£¬ÈçºÎ±£Ö¤DOMÄÚ´æÍ¬²½ºÍÎïÀíÎļþͬ²½£¿ÓÖÈçºÎÇåÀíÔÚÄÚ´æÖÐÒѼÓÔØµÄÊý¾Ý£¿
ÎÊÌâ²¹³ä£º
Äã˵µÄÕâÖÖ¾ÍÊǺܵ¥´¿µÄÔÚÒ»¸öÏß³ÌÖÐÖ´ÐÐËùÓеIJÙ×÷£¬Èç¹ûÎÒÊÇÔÚµ¥Ïß³ÌÖвÙ×÷£¬Ã¿×öÒ»´ÎÔöɾ¸Ä²éµÄÒ»ÖÖ£¬ÎÒ¶¼Òª±£´æµ½ÎļþÖÐÈ¥£¬È磺
µÚÒ»´Î£ºÔö¼ ......
LSParserFilter---ÔØÈëÓë±£´æ
Ó¦ÓÃorg.w3c.dom ʵÏÖXMLµÄÔØÈëÓë±£´æÊµÀý
/**
* ʵÏÖDOM3µÄLS(Load & Save)¹¦ÄÜ
*
* @author S.Well
* @see org.w3c.dom.DOMErrorHandler
* @see org.w3c.dom.ls.LSParserFilter
*/
public class XML_LS implements DOMErrorHandler, LSParserFilter {
private static ......