java - DefaultHandler class in android doesnt read entire string from xml -
i extending defaulthandler parse xml. parsing page: http://maps.googleapis.com/maps/api/directions/xml?origin=staten%20island&destination=florida&sensor=false
i getting polyline>points. works fine except 1 specific string. overriding characters method in defaulthandler this:
public void characters(char[] ch, int start, int length) throws saxexception { if (currentelement) { log.v("length", length+""); currentvalue = new string(ch, start, length); currentelement = false; } }
the length returns 282 when string 660 characters long. string:
qhitfxpifmn@t@vacdm
wnnbjeeti|plixnxhhmjldq|dalwa~cxfefoxrlk
o~pduvoltnhdjbyl\fvlwq@~p@~ga
gafkzkbprpa@bi@|wanubjz|c@rd~f
jjp|i|qzr@~abkps
j~ovgdknphubmpn~{@~{@tlhmlzfzni~ilh@nh@nno~gbjjepgperhbifppdxivdpkzrvp@re|mrf|mhkprbf
ir_@jo@lts~mzyp[bw@hevj|f
lblvqzhrjfv@fz@nuxxhatoalgzil
abwavmfrx_anmalr@z}@jqttfjxjv]h]budfqdjfrgbi~k|e~hpfnklfflzb|fjelmhcvi|tw@vdnpzchpx@vfdbhorh@xlfbnptavadmnb
mnejt~evqhfo~f
njcjfhethlebhbk@bx@fwb^nsvxnsryxgpkjdvgndxhnhdr~_a|gcdnz]tetmfs@zlbbhhq|jdzoh|r@lza|yvk@xclfvjxrhinohp\hj|pbivoxb|e|m@pla~lpuzs@dwavj@hfa|d|irdrjzlaridhffr~uv~@h
@j|afy@{dtfzx|btoparlvsjccv@dnjjegbfdddvnelanix@xdnc~jbapfb@fdbkb~@
dj^hbvn|bbo|dl]
and defaulthandler returns:
qhitfxpifmn@t@vacdm
wnnbjeeti|plixnxhhmjldq|dalwa~cxfefoxrlk
o~pduvoltnhdjbyl\fvlwq@~p@~ga
gafkzkbprpa@bi@|wanubjz|c@rd~f
jjp|i|qzr@~abkps
j~ovgdknphubmpn~{@~{@tlhmlzfzni~ilh@nh@nno~gbjjepgperhbifppdxivdpkzrvp@re|mrf|mhkprbf
ir_@jo@lts~mzyp[bw@hevj|f
lblvqzhrjfv@fz@nuxxh`ato
it stops @ character 282 , don't know why.
from documentation of contenthandler interface, implemented defaulthandler:
sax parsers may return contiguous character data in single chunk, or may split several chunks
you need aggregate data multiple calls method in stringbuilder , handle data in endelement call.
Comments
Post a Comment