apache xerces sax parser til søgning i xml - dokument

, demo eksempel, her er input tekst fil, vi er nødt til at spørge om rollno: 393, <?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.søkse. attributter, 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 snor rollno = ugyldig; @ tilsidesætte offentlige tomrum startelement (string - uri, snor localname, snor qname, attributter attributter), kaster saxexception (hvis (qname. equalsignorecase ("studerende") (rollno = attributter. getvalue ("rollno");} hvis ((393). = (rollno) &&qname. equalsignorecase ("studerende") (system. println ("start element:" + qname)} hvis (qname. equalsignorecase ("firstname") (b)firstname = 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. endelement (string - uri, snor localname, snor qname) kaster saxexception (hvis (qname. equalsignorecase ("studerende") (hvis ((393). = (rollno) & & qname. equalsignorecase ("studerende")). println ("sidste element:" + qname)}} @ tilsidesætte offentlige tomrum tegn (char ch [], int start, int længde) kaster saxexception (hvis (bfirstname &&(393) = (roll.ingen)) (//alder element, der er ansat alder system. println ("fornavn:" + nye serie (ch, start, længde) bfirstname = falske} andre, hvis (blastname &&(393). = (rollno)) (system. println ("sidste navn:" + nye serie (ch, start, længde) blastname = falske} andre, hvis (bnickname &&(393). = (rollno)) (system. println ("nick navn:" + nye serie (ch, start, længde) bnickname = falske} andre, hvis (bmarks &&(393). = (rollno)) (system. println ("mærker" + nye serie (ch, start, længde) bmarks = falske}}},, saxquerydemo - 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 saxquerydemo {offentlige statisk tomrum vigtigste (string [] args) (prøve (sag inputfile = nye 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 -læn dig bnickname = falske boolean bmarks = falske snor rollno = ugyldig; @ tilsidesætte offentlige tomrum startelement (string - uri, snor localname, snor qname, attributter attributter), kaster saxexception (hvis (qname. equalsignorecase ("studerende") (rollno = attributter. getvalue ("rollno");} hvis ("393). = (rollno) & & qname. equalsignorecase (" studerende ") (system. println (" start element: "+ qname)} hvis (qname. equalsignorecase (" firstname)) (bfirstname = sandt.} andre, hvis (qname. equalsignorecase ("lastname") (blastname = sandt.} andre, hvis (qname. equalsignorecase ("øgenavn") (bnickname = sandt.} andrehvis (qname. equalsignorecase ("mærker") (bmarks = sandt.}} @ tilsidesætte offentlige tomrum endelement (string - uri, snor localname, snor qname) kaster saxexception (hvis (qname. equalsignorecase ("studerende") (hvis ((393). = (rollno) & og amp; qname. equalsignorecase ("studerende")). println ("sidste element:" + qname)}} @ tilsidesætte offentlige tomrum tegn (char ch [], int start, int længde) kaster saxexception (hvis (bfirstname & & (393). er (rollno)) (//alder element, der er ansat alder system. println ("fornavn:" + nye serie (ch, start, længde) bfirstname = falske} andre, hvis (blastname & & (393). = (rollno)) (system. println ("sidste navn:" + nye serie (ch, start, længde) blastname = falske} andre, hvis (bnickname & & (393). er (rollno)) (system. println ("nick navn:" + nye serie (ch, start, længde) bnickname = falske} andre, hvis (bmarks & & (393). = (rollno)) (system. println ("er:" + nye serie (ch, start, længde) bmarks = falske}}}, vil det føre til følgende resultat: begynd element: studerende fornavn: dinkar efternavn: kad nick navn: dinkar varemærker: 85 ende element: studerende,



Previous:
Next Page: