, demo eksempel, her er vi nødt til at analysere indgående xml - fil:,,, <?xml - version = "0"?> <class> <student rollno="393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno="493"> <firstname>Vineet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno="593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class> , ,,UserHandler.java,, package com.tutorialspoint.xml; import org.xml.sax.attributes; import org.xml.sax.saxexception; import org.xml.sax.helpers.defaulthandler; offentlige klasse userhandler udvider defaulthandler {boolean bfirstname = falske boolean blastname = falske boolean bnickname = falske boolean bmarks = falske @ tilsidesætte offentlige tomrum startelement (string - uri, snor localname, snor qname, attributter attributter), kaster saxexception (hvis (qname. equalsignorecase ("studerende") (string rollno = attributter. getvalue ("rollno"); system. println ("roll - nr.:" + rollno)} andre, hvis (qname. equalsignorecase ("firstname)) (bfirstname = sandt.} andre, hvis (qname. equalsignorecase (" lastname ") (blastname =sandt.} andre, hvis (qname. equalsignorecase ("øgenavn") (bnickname = sandt.} andre, hvis (qname. equalsignorecase ("mærker") (bmarks = sandt.}} @ tilsidesætte offentlige tomrum endelement (string - uri, snor localname, snor qname) kaster saxexception (hvis (qname. equalsignorecase ("studerende") (system. println ("sidste element:" + qname)}} @ tilsidesætte offentlige tomrum tegn (char ch [], int start, int længde) kaster saxexception (hvis (bfirstname) (system. println ("fornavn:" + nye serie (ch start, længde) bfirstname = falske} andre, hvis (blastname) (system. println ("sidste navn:" + nye string (ch, start, længde) blastname = falske} andre, hvis (bnickname) (system. println ("nick navn:" + nye serie (ch, start, længde) bnickname = falske} andre, hvis (bmarks) (system. println ("er:" + nye serie (ch, start, længde) bmarks = falske}}},, saxparserdemo - pakken com.tutorialspoint.xml; 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; offentlige klasse saxparserdemo {offentlige statisk tomrum vigtigste (string [] args) (prøve (sag inputfile = ny fil ("input. txt"); saxparserfactory fabrik = saxparserfactory. newinstance(); saxparser saxparser = fabrik. newsaxparser(); userhandler userhandler = nye userhandler(); saxparser. analysere (inputfile, userhandler)} fangst (undtagen e) (f. printstacktrace();}}} klasse userhandler udvider defaulthandler {boolean bfirstname = falske boolean blastname = falske boolean bnickname = falske boolean - bmarks = falske @ tilsidesætte offentlige tomrum startelement (string - uri, snor localname, snor qname, attributter attributter), kaster saxexception (hvis (qname. equalsignorecase ("studerende") (string rollno = attributter. getvalue ("rollno"); system.out.printlf. ("roll - nr.:" + rollno)} andre, hvis (qname. equalsignorecase ("firstname)) (bfirstname = sandt.} andre, hvis (qname. equalsignorecase (" lastname ") (blastname = sandt.} andre, hvis (qname. equalsignorecase (" øgenavn ") (bnickname = sandt;} andre, hvis (qname. equalsignorecase (" mærker ") (bmarks = sandt.}} @ tilsidesætte offentlige tomrum endelement (string - uri, snor localname, snor qname) kaster saxexception (hvis (qname. equalsignorecase (" studerende ") (system. println (" sidste element: "+ qname);}} @ tilsidesætte offentlige tomrum tegn (char ch [], int start, int længde) kaster saxexception (hvis (bfirstname) (system.out.printlf. ("fornavn:" + nye serie (ch, start, længde) bfirstname = falske} andre, hvis (blastname) (system. println ("sidste navn:" + nye serie (ch, start, længde) blastname = falske} andre, hvis (bnickname) (system. println ("nick navn:" + nye serie (ch, start, længde) bnickname = falske} andre, hvis (bmarks) (system. println ("mærker" + nye serie (ch, start, længde) bmarks = falske}}} dette ville føre til følgende resultat:, rulle: 393 fornavn: dinkar efternavn: kad nick navn: dinkar varemærker: 85 ende element: studerende ved nr. 493 fornavn: vineet efternavn: gupta nick navn: vinni varemærker: 95 endeelement: studerende ved nr. 593 fornavn: jasvir efternavn: singh nick navn: jazz varemærker: 90 - ende element: studerende,
apache xerces sax parser - analysere xml - dokument
Previous:apache xerces sax parser - oversigt