XMLを解析するためにDefaultHandlerを拡張しています。このページを解析しています: http://maps.googleapis.com/maps/api/directions/xml?origin=staten%20island&destination=florida&sensor=false
すべてのポリライン>ポイントを取得しています。1 つの特定の文字列を除いて、すべて正常に動作します。次のように、DefaultHandler の文字メソッドをオーバーライドしています。
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;
}
}
文字列の長さが 660 文字の場合、長さは 282 を返します。これは文字列です:
qhitFxpifMn@t@vA CdM
WnnBjeEtI|PlIxNxHhMjLdQ|dAlwA ~CxfEfOxRlK
O~PdUvOlTnHdJbYl\fVlW q@~p@~gA
gAfKzKbP Rpa@bi@|wAnuBjZ|c@rD~F
JjP|I|Qzr@ ~AbKpS
J~OvGdKnPhUbMpN~{@~{@tLhMlZfZnI~Ilh@nh@nN O~GbJjEpGpErHbIfPpDxIvDpKzRvp@rE|MrF|MhKpRbF
Ir_@jo@ LtS~MzYp[bw@hEvJ|F
LbLvQzHrJfv@fz@nUxXh AtoAlGzIl
AbwAvMfRx_AnmAlr@z }@jQtTfJxJv]h]buDfqDjFrGbI~K|E~HpFnKlFfLzB|FjElMhCvI|T w@vDnPzChPx@vFdBhOrh@xlFbNptAvAdMnB
MnEjT~EvQhF O~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]
そして、これは DefaultHandler が返すものです:
Qhitfxpifmn@t@ CdM
va wnnbjeeti | plixnxhhmjldq | dalwa ~CxfEfOxRlK
o〜pduvoltnhdjbyl \ fvlw q@~p@~gA
gafkzkbp Rpa@bi@|wAnuBjZ|c@rD~F
jjp | i | qzr@ ~AbKpS
j〜ovgdknphubmpn〜 {@nuxw@nir ni irbni buxh@ O~GbJjEpGpErHbIfPpDxIvDpKzRvp@rE|MrF|MhKpRbF
nikni LtS~MzYp[bw@hEvJ|F
buxh@nikni buxh
文字 282 で停止しますが、その理由はわかりません。