, skridt til at anvende xpath, er følgende foranstaltninger anvendes, mens parsing et dokument med xpath parser.,,, import xml - relateret pakker.,,, skabe en documentbuilder, skabe et dokument fra en fil eller stream, skaber en xpath genstand og en xpath vej udtryk,, udarbejder xpath udtryk ved hjælp af xpath. compile() og få en liste over områder, ved at vurdere udarbejdet til udtryk gennem xpath. evaluate(),,, iterate over den liste over knudepunkter.,,, undersøge attributter,,, se underelementer,,,,,,, import xml - relaterede pakker, import, org. w3c. dom. *; import org. xml. sax. *; import javax. xml. parsers. *; import javax. xml. xpath. *; import java. io. *), skabe en documentbuilder,, documentbuilderfactory fabrik = documentbuilderfactory.newinstance(); documentbuilder bygmester = fabrik. newdocumentbuilder();,, skabe et dokument fra en fil eller stream, stringbuilder xmlstringbuilder = nye stringbuilder(); xmlstringbuilder. både (<?xml - version = "0"?> <class > < /klasse > "); bytearrayinputstream input = nye bytearrayinputstream (xmlstringbuilder. tostring(). getbytes (" utf - 8 "); dokument doc = bygmester. analysere (input), bygge xpath,, xpath xpath = xpathfactory. newinstance(). newxpath();,, forberede vej ytringsfrihed og vurdere det, streng udtryk =" /klasse /elev "; nodelist nodelist = (nodelist) xpath. udarbejde (udtrykket). vurdere (dok. xpathconstants. nodeset);,, iterate over nodelist, for int (i = 0. jeg < nodelist. getlength(); jeg + +) {node nnode = nodelist. punkt (i).}, undersøge attributter, //afkast særlige egenskab getattribute ("attributename"); //returnerer et kort (tabel) navne /værdier getattributes();, undersøge underelementer, //afkast, en liste over subelements af bestemte navn getelementsbytagname ("subelementname"); //afkast, en liste over alle barn knudepunkter getchildnodes();, demo eksempel, her er vi nødt til at analysere indgående tekstfil:,,, og det?xml - version = "0"?> <class> <student rollno="393"> <firstname>dinkar</firstname> <lastname>kad</lastname> <nickname>dinkar</nickname> <marks>85</marks> </student> <student rollno="493"> <firstname>Vaneet</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> , ,,Demo Example:,,,XPathParserDemo.java,, package com.tutorialspoint.xml; import java.io.file; import java.io.ioexception; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.parserconfigurationexception; import javax.xml.xpath.xpath; import javax.xml.xpath.xpathconstants; import javax.xml.xpath.xpathexpressionexception; import javax.xml.xpath.xpathfactory; import org.w3c.dom.document; import org.w3c.dom.nodelist; import org.w3c.dom.node; import org.w3c.dom.element; import org.xml.sax.saxexception; offentlige klasse xpathparserdemo {offentlige statisk tomrum vigtigste (string [] args) (prøve (sag inputfile = nye fil ("input. txt"); documentbuilderfactory dbfactory = documentbuilderfactory newinstance(); dokument.han dbuilder; dbuilder = dbfactory. newdocumentbuilder(); dokument doc = dbuilder. analysere (inputfile); dok. getdocumentelement(). normalize(); xpath xpath = xpathfactory. newinstance(). newxpath(); snor udtryk = "/klasse /elev"; nodelist nodelist = (nodelist) xpath. udarbejde (udtrykket). vurdere (dok. nodeset xpathconstants.); for int (i = 0. jeg < nodelist. getlength(); jeg + +) (node nnode = nodelist. punkt i) system. println (") ncurrent element:" + nnode. getnodename()); hvis (nnode. getnodetype() = = node. element_node) {element eelement = (del) nnode; system. println ("elev, -ii nr.: + eelement. getattribute ("rollno") system. println ("fornavn:" + eelement. getelementsbytagname ("firstname). punkt (0). gettextcontent()) system. println (" sidste navn: "+ eelement. getelementsbytagname (" lastname "). punkt (0). gettextcontent()) system. println (" nick navn: "+ eelement. getelementsbytagname (" øgenavn "). punkt (0). gettextcontent()) system. println (" mærker "+ eelement. getelementsbytagname ("mærker"). punkt (0). gettextcontent())}}} fangst (parserconfigurationexception e) (f. printstacktrace();} fangst (saxexception e) (f. printstacktrace();} fangst (ioexception e) (f. printstacktrace();} fangst (xpathexpressionexception e) (f. printstacktrace().}), giver følgende resultat: aktuelle element: studerende, rulle: 393 fornavn: dinkar efternavn: kad nick navn: dinkar varemærker: 85 aktuelle element: studerende, rul nr. 493 fornavn: vaneet efternavn: gupta nick navn: vinni varemærker: 95 aktuelle element: studerende laittudent roll. nr. 593 fornavn: jasvir efternavn: singh nick navn: jazz varemærker: 90
java xpath parser - analysere xml - dokument
Previous:java xpath parser - oversigt