我正在扩展 DefaultHandler 来解析 xml。我正在解析这个页面: http ://maps.googleapis.com/maps/api/directions/xml?origin=staten%20island&destination=florida&sensor=false
我得到了所有的折线>点。除了一个特定的字符串外,一切正常。我正在重写 DefaultHandler 中的 characters 方法,如下所示:
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 @ CdM
va wnnbjeeti | plixnxhmjldq | dalwa ~CxfEfOxRlK
o〜pduvoltnhdjbyl \ fvlw q@~p@~gA
gafkzkbp Rpa@bi@|wAnuBjZ|c@rD~F
jjp | i | qzr @ ~AbKpS
j〜ovgdknphubmpn〜{@ tlhmlzfzni〜Ilh @ nn O~GbJjEpGpErHbIfPpDxIvDpKzRvp@rE|MrF|MhKpRbF
ir_ @ @ 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@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@ O~GbJjEpGpErHbIfPpDxIvDpKzRvp@rE|MrF|MhKpRbF
nN`Jhf@jo@ LtS~MzYp[bw@hEvJ|F
LbUxHxA
它在字符 282 处停止,我不知道为什么。