xstream - konvertere

, xstream konverteringsvirksomhederne er de centrale elementer i den xstream bibliotek, der er ansvarlige for at omdanne et objekt for xml - og vice versa.xstream indeholder talrige omformere til fælles typer såsom primitive, snor, fil, samlinger, systemer og datoer. ved hjælp af konverteren, lad os bruge et singlevalueconvertor, hvis formål er at omdanne et objekt i en enkelt kæde.vi vil bruge singlevalueconvertor at skrive en genstand som attribut snor., skabe en konverter, klasse nameconverter gennemfører singlevalueconverter {offentlige formål fromstring (string navn) (string [] nameparts = navn split (""); tilbage nye navn (nameparts [0], nameparts [1]);} offentlige snor tostring (objekt navn) (afkast ((navn) navn). getfirstname() + "," (+ (navn) navn). getlastname();} offentlige boolean canconvert (klasse type) {tilbage. er lig med (navn. klasse)}}, registrere en konverter, xstream. registerconverter (nye nameconverter()), f.eks. med katalysator, lad os først afprøve kode uden katalysator i xstream. skabe en java - klasse fil, der hedder xstreamtester i, c: \\> xstream_workspace. kom. lektionspoint. xstream,.,,, fil: xstreamtester. java, pakke com.tutorialspoint.xstream; import java.io.bytearrayinputstream; import java.io.bytearrayoutputstream; import javax.xml.transform.outputkeys; import javax.xml.transform.source; import javax.xml.transform.transformer; import javax.xml.transform.sax.saxsource; import javax.xml.transform.sax.saxtransformerfactory; import javax.xml.transform.stream.streamresult; import org.xml.sax.inputsource; import com.thoughtworks.xstream.xstream; import com.thoughtworks.xstream.annotations.xstreamalias; import com.thoughtworks.xstream.annotations.xstreamasattribute; import com.thoughtworks.xstream.io.xml.staxdriver; offentlige klasse xstreamtester {offentlige statisk ugyldig vigtigste (string - args []) (xstreamtester tester = nye xstreamtester(); xstream xstream = nye xstream (nye staxdriver()); studerende = - tester. getstudentdetails(); xstream. autodetectannotations (korrekt); //genstand for xml - omstilling snor xml - = xstream. toxml (studerende) system. println (formatxml (xml)} private studerende getstudentdetails() (studerende studerende = nye studerende ("mahesh", "parashar"); tilbage studerende;} offentlige statiske snor formatxml (string xml) (prøve (transformer serializer = saxtransformerfactory. newinstance(). newtransformer(); serializer. setoutputproperty (outputkeys.indent, "ja"); serializer. setoutputproperty ("(http://xml.apache.org /xslt} led beløb "," 2 "); kilde xmlsource = nye saxsource (nye inputsource (nye bytearrayinputstream (xml. getbytes())); streamresult res = nye streamresult (nye bytearrayoutputstream()); serializer. omdanne (xmlsource, res); tilbage nye string (((bytearrayoutputstream) res tobytearray() getoutputstream()).);} fangst (undtagen e) {}}} @ tilbage xml, xstreamalias (" studerende ") klasse elev (@ xstreamalias (" navn ") @ xstreamasattribute private navn studentname; offentlige studerende (string firstname, snor lastname) (this.studentname = nye navn (firstname, lastname)} offentlige navn getname() {tilbage studentname;}} cia -ss - navn (private snor firstname; private snor lastname; offentlige navn (string firstname, snor lastname) (this.firstname = firstname. this.lastname = lastname;} offentlige snor getfirstname() {tilbage firstname.} offentlige snor getlastname() {tilbage lastname;}}, kontrollere resultatet, udarbejder klasser med, javac, compiler som følger: c:. xstream_workspace. kom. tutorialspoint. xstream> javac xstreamtester.java, nu kører det xstreamtester se resultatet: c:. xstream_workspace. kom. tutorialspoint. xstream> java xstreamtester, verificere output som følger:,, <?xml - version = "0" kodning = "utf - 8"?> < student > < navn > < firstname > mahesh < /firstname > < lastname > parashar < /lastname > < /navn > < /student >, f.eks. katalysator, lad os prøve den kode med katalysator i xstream. skabe en java - klasse fil, der hedder xstreamtester i, c: \\> xstream_workspace. kom. tutorialspoint. xstream,.,,, fil: xstreamtester. java, pakke com.tutorialspoint.xstream; import java.io.bytearrayinputstream; import java.io.bytearrayoutputstream; import javax.xml.transform.outputkeys, import javax.xml.transform.source; import javax.xml.transform.transformer; import javax.xml.transform.sax.saxsource; import javax.xml.transform.sax.saxtransformerfactory; import javax.xml.transform.stream.streamresult; import rt rt rt rt rt rt org.xml.sax.inputsource; import com.thoughtworks.xstream.xstream; import com.thoughtworks.xstream.annotations.xstreamalias; import com.thoughtworks.xstream.annotations.xstreamasattribute; import com.thoughtworks.xstream.converters.singlevalueconverter; import com.thoughtworks.xstream.io.xml.staxdriver; offentlige klasse xstreamtester {offentlige statisk tomrum vigtigste (string - args []) (xstreamtester tester = nye xstreamtester(); xstream xstream = nye xstream (nye staxdriver()); studerende = - tester. getstudentdetails(); xstream. autodetectannotations (korrekt). xstream. registerconverter (nye nameconverter()); //genstand for xml - omstilling snor xml - = xstream. toxml (studerende) system. println (formatxml (xml)} private studerende getstudentdetails() (studerende, = nye studerende ("mahesh", "parashar"); tilbage studerende;} offentlige statiske snor formatxml (string xml) (prøve (transformer serializer = saxtransformerfactory. newinstance(). newtransformer(); serializer. setoutputproperty (outputkeys.indent, "ja"); serializer. setoutputproperty ("(http: //xml. apache. org /xslt} led beløb", "2"); kilde xmlsource = nye saxsource (nye inputsource (nye bytearrayinputstream (xml. getbytes())); streamresult res = nye streamresult (nye bytearrayoutputstream()); serializer. omdanne (xmlsource, res);tilbage til nye string (((bytearrayoutputstream). getoutputstream()). tobytearray())} fangst (undtagen e) {}}} @ tilbage xml, xstreamalias ("studerende") klasse elev (@ xstreamalias ("navn") @ xstreamasattribute private navn studentname; offentlige studerende (string firstname, snor lastname) (this.studentname = ny navn (firstname, lastname)} offentlige navn getname() {tilbage studentname;}} klasse navn (private snor firstname; private snor lastname; offentlige navn (string firstname, snor lastname) (this.firstname = firstname. this.lastname = lastname;} offentlige snor getfirstname() {tilbage firstname.} offentlige snor getlastname() {tilbage lastname;}} klasse nameconverter gennemfører singlevalueconverter {offentlige formål fromstring (string navn) (string [] nameparts = navn split (""); tilbage nye navn (nameparts [0], nameparts [1]);} offentlige snor tostring (objekt navn) (afkast ((navn) navn). getfirstname() + "," (+ (navn) navn). getlastname();} offentlige boolean canconvert (klasse type) {tilbage. er lig med (navn. klasse)}}, kontrollere resultatet, udarbejder klasser med, javac, compiler som følger: c:. xstream_workspace. kom. tutorialspoint. xstream> javac xstreamtester.java, nu kører det xstreamtester se resultatet: c:. xstream_workspace. kom. tutorialspoint. xstream> java xstreamtester, verificere output som:resultat:,, <?xml - version = "0" kodning = "utf - 8"?> < studerende navn = "mahesh, parashar" />, sædvane konverter



Previous:
Next Page: