问题在黑莓的XML解析 [英] Problem in parsing xml in blackberry
问题描述
我使用SAX解析器从HTTP URL解析XML数据。
我创建一个BlackBerry应用程序,显示从另一个位置的位置方向上的数据。
我的应用程序解析非常准确地对某些位置的数据但对于一些地方,给我org.xml.sax.SAXParseException:结束标记不匹配开始标记元
当我跟踪我的应用程序,然后我才知道,数据是从HTTP URL来是不正确的,虽然网址中包含正确的XML数据
我解析XML数据:
<?XML版本=1.0编码=UTF-8&GT?;
< DirectionsResponse>
<状态>&OK LT; /状态>
<&路线GT;
<总结> I-65 N和AL-14 W< /总结>
<&腿GT;
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4582500< /纬度>
< LNG> -86.3841000< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4582300< /纬度>
< LNG> -86.3832400< / LNG>
< / END_LOCATION>
<折线>
<&点GT; aobeEr {fnOJyCGQ< /点>
<&各级GT; B B< /水平>
< /折线>
<持续时间GT;
< VALUE> 8示/值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions> HEAD&放大器; LT; B和; GT;&东部放大器; LT; / B&放大器; GT;在与放大器; LT; B和; GT;市场街及放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 81 LT; /值>
<文字和GT 266立方英尺LT; /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4582300< /纬度>
< LNG> -86.3832400< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4602500< /纬度>
< LNG> -86.3831700< / LNG>
< / END_LOCATION>
<折线>
<&点GT;} nbeEfvfnOsKM< /点>
<色阶和GT; BB< /水平>
< /折线>
<持续时间GT;
< VALUE> 25℃/值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions>打开和放大器; LT; B和; GT;左,放大器; LT; / B&放大器; GT;留在&安培; LT; B和; GT;市场街及放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 226 LT; /值>
<文字和GT; 0.1英里< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4602500< /纬度>
< LNG> -86.3831700< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4603600< /纬度>
< LNG> -86.3870500< / LNG>
< / END_LOCATION>
<折线>
<&点GT;问{beExufnOUfW< /点>
<色阶和GT; BB< /水平>
< /折线>
<持续时间GT;
< VALUE> 61℃; /值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions>打开和放大器; LT; B和; GT;左,放大器; LT; / B&放大器; GT;到&放大器; LT; B和; GT;科布斯福特路/录2及LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 364 LT; /值>
<文字和GT; 0.2英里< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4603600< /纬度>
< LNG> -86.3870500< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4865600< /纬度>
< LNG> -86.4070600< / LNG>
< / END_LOCATION>
<折线>
<&点GT; G | beE`ngnOwBfDeExEcCjA {S @ z` @ mVlOoRdN【T @ BL @< /点>
<&各级GT; B @ ?? @ B<?/水平>
< /折线>
<持续时间GT;
< VALUE> 130℃; /值>
<文本> 2分钟< /文字和GT;
< /持续时间GT;
< html_instructions>&轻微放大器; LT; B和; GT;右放大器; LT; / B&放大器; GT;合并到&放大器; LT; B和; GT; I-65 N'放大器; LT; / B&放大器; GT;朝与放大器; LT; B和; GT;&伯明翰放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 3478< /值>
<文字和GT; 2.2 MI< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4865600< /纬度>
< LNG> -86.4070600< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4893200< /纬度>
< LNG> -86.4084500< / LNG>
< / END_LOCATION>
<折线>
<&点GT; _`heEbkknOeDbBwGvBiBx @< /点>
<&各级GT; B 12的B< /水平>
< /折线>
<持续时间GT;
< VALUE> 27 LT; /值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions>以出口和放大器; LT; B和; GT; 181安培; LT; / B&放大器; GT;为&放大器; LT; B和; GT; AL-14放大器; LT; / B&放大器; GT;朝与放大器; LT; B和; GT;普拉特/威屯卡和放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 333< /值>
<文字和GT; 0.2英里< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4893200< /纬度>
< LNG> -86.4084500< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4823000< /纬度>
< LNG> -86.4286600< / LNG>
< / END_LOCATION>
<折线>
<&点GT; gqheExsknO〜PvPpAhAVNJCnDbFjDvGnA`DnAnErA`I ^ fHtAbz @< /点>
<&各级GT; b ??? @ ??? @ ?? B< /水平>
< /折线>
<持续时间GT;
< VALUE> 228 LT; /值>
<文本→4分钟< /文字和GT;
< /持续时间GT;
< html_instructions>打开和放大器; LT; B和; GT;左,放大器; LT; / B&放大器; GT;到&放大器; LT; B和; GT; AL-14 W&放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 2186< /值>
<文字和GT; 1.4 MI< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4823000< /纬度>
< LNG> -86.4286600< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4755400< /纬度>
< LNG> -86.4283300< / LNG>
< / END_LOCATION>
<折线>
<&点GT; kegeEbronO〜XJtDU〜迪@ pCM中< /点>
<&各级GT; b?B< /水平>
< /折线>
<持续时间GT;
< VALUE> 68 LT; /值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions>打开和放大器; LT; B和; GT;左,放大器; LT; / B&放大器; GT;到&放大器; LT; B和; GT;茉莉开拓者和放大器; LT; / B&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 755< /值>
<文字和GT; 0.5 MI< /文字和GT;
< /距离>
< /步骤>
&所述;步骤>
<&TRAVEL_MODE GT;驾驶< / TRAVEL_MODE>
<&START_LOCATION GT;
<&纬度GT; 32.4755400< /纬度>
< LNG> -86.4283300< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4755400< /纬度>
< LNG> -86.4288500< / LNG>
< / END_LOCATION>
<折线>
<&点GT;?C {eeE`ponO FB< /点>
<色阶和GT; BB< /水平>
< /折线>
<持续时间GT;
< VALUE> 11< /值>
<文本> 1分钟< /文字和GT;
< /持续时间GT;
< html_instructions>打开和放大器; LT; B和; GT;右放大器; LT; / B&放大器; GT;到&放大器; LT; B和; GT;温德米尔大道和放大器; LT; / B&放大器; GT;&放大器; LT; DIV的风格=安培; QUOT; FONT-SIZE:0.9em&放大器; QUOT;&放大器; GT;目标将是在左边和放大器; LT; / DIV&放大器; GT;< / html_instructions>
<距离和GT;
< VALUE> 49 LT; /值>
<文字和GT 161立方英尺LT; /文字和GT;
< /距离>
< /步骤>
<持续时间GT;
< VALUE> 558 LT; /值>
<文字和GT; 9分钟< /文字和GT;
< /持续时间GT;
<距离和GT;
< VALUE> 7472< /值>
<文字和GT; 4.6 MI< /文字和GT;
< /距离>
<&START_LOCATION GT;
<&纬度GT; 32.4582500< /纬度>
< LNG> -86.3841000< / LNG>
< / START_LOCATION>
<&END_LOCATION GT;
<&纬度GT; 32.4755400< /纬度>
< LNG> -86.4288500< / LNG>
< / END_LOCATION>
<&START_ADDRESS GT; I65 SRV路E,米尔布鲁克,AL 36054,USA< / START_ADDRESS>
<&END_ADDRESS GT;普拉特维尔,AL 36066,USA< / END_ADDRESS>
< /腿>
<版权>地图数据©2011谷歌< /版权>
< overview_polyline>
<points>aobeEr{fnOJyCGSsKKUfWwBfDeExEcCjA{s@z`@uNxIkNjJ{JlH{t@bl@eDbBwGvBiBx@~PvPpAhAVNJCnDbFjDvGnA`DnAnErA`I^fHtAbz@~XJtDU~Di@pCM?fB</points>
&LT;&各级GT; B @@@ @?@?@ ?? 580 @ ??? @?@?@ B&LT;?/水平&GT;
&LT; / overview_polyline&GT;
&LT;&界限GT;
&LT;西南&GT;
&LT;&纬度GT; 32.4581900&LT; /纬度&GT;
&LT; LNG&GT; -86.4288500&LT; / LNG&GT;
&LT; /西南&GT;
&LT;东北GT&;
&LT;&纬度GT; 32.4893200&LT; /纬度&GT;
&LT; LNG&GT; -86.3831700&LT; / LNG&GT;
&LT; /东北和GT;
&LT; /界限&GT;
&LT; /路由&GT;
&LT; / DirectionsResponse&GT;
你能告诉我它返回XML数据的网址是什么?有可能,这个问题可能是URL创建的。我已经使用在应用所有这些信息,我发现我的问题是不是URL解析器。
您可能有同样的问题,所以只使用+代替空格。让我知道,如果它的工作原理。
I am using SAX Parser to parse XML data from a http url. I am creating a BlackBerry application, that shows direction data from a location to another location.
My application parsed data for some locations very accurately but for some locations it gives me org.xml.sax.SAXParseException: End tag does not match start tag 'meta'.
when i traced my application then i came to know that data which is coming from http url is not correct, although url contains correct xml data
The XML data I am parsing:
<?xml version="1.0" encoding="UTF-8"?>
<DirectionsResponse>
<status>OK</status>
<route>
<summary>I-65 N and AL-14 W</summary>
<leg>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4582500</lat>
<lng>-86.3841000</lng>
</start_location>
<end_location>
<lat>32.4582300</lat>
<lng>-86.3832400</lng>
</end_location>
<polyline>
<points>aobeEr{fnOJyCGQ</points>
<levels>B?B</levels>
</polyline>
<duration>
<value>8</value>
<text>1 min</text>
</duration>
<html_instructions>Head <b>east</b> on <b>Market St</b></html_instructions>
<distance>
<value>81</value>
<text>266 ft</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4582300</lat>
<lng>-86.3832400</lng>
</start_location>
<end_location>
<lat>32.4602500</lat>
<lng>-86.3831700</lng>
</end_location>
<polyline>
<points>}nbeEfvfnOsKM</points>
<levels>BB</levels>
</polyline>
<duration>
<value>25</value>
<text>1 min</text>
</duration>
<html_instructions>Turn <b>left</b> to stay on <b>Market St</b></html_instructions>
<distance>
<value>226</value>
<text>0.1 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4602500</lat>
<lng>-86.3831700</lng>
</start_location>
<end_location>
<lat>32.4603600</lat>
<lng>-86.3870500</lng>
</end_location>
<polyline>
<points>q{beExufnOUfW</points>
<levels>BB</levels>
</polyline>
<duration>
<value>61</value>
<text>1 min</text>
</duration>
<html_instructions>Turn <b>left</b> onto <b>Cobbs Ford Rd/Co Rd 2</b></html_instructions>
<distance>
<value>364</value>
<text>0.2 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4603600</lat>
<lng>-86.3870500</lng>
</start_location>
<end_location>
<lat>32.4865600</lat>
<lng>-86.4070600</lng>
</end_location>
<polyline>
<points>g|beE`ngnOwBfDeExEcCjA{s@z`@mVlOoRdN{t@bl@</points>
<levels>B?@??@?B</levels>
</polyline>
<duration>
<value>130</value>
<text>2 mins</text>
</duration>
<html_instructions>Slight <b>right</b> to merge onto <b>I-65 N</b> toward <b>Birmingham</b></html_instructions>
<distance>
<value>3478</value>
<text>2.2 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4865600</lat>
<lng>-86.4070600</lng>
</start_location>
<end_location>
<lat>32.4893200</lat>
<lng>-86.4084500</lng>
</end_location>
<polyline>
<points>_`heEbkknOeDbBwGvBiBx@</points>
<levels>B??B</levels>
</polyline>
<duration>
<value>27</value>
<text>1 min</text>
</duration>
<html_instructions>Take exit <b>181</b> for <b>AL-14</b> toward <b>Prattville/Wetumpka</b></html_instructions>
<distance>
<value>333</value>
<text>0.2 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4893200</lat>
<lng>-86.4084500</lng>
</start_location>
<end_location>
<lat>32.4823000</lat>
<lng>-86.4286600</lng>
</end_location>
<polyline>
<points>gqheExsknO~PvPpAhAVNJCnDbFjDvGnA`DnAnErA`I^fHtAbz@</points>
<levels>B???@???@??B</levels>
</polyline>
<duration>
<value>228</value>
<text>4 mins</text>
</duration>
<html_instructions>Turn <b>left</b> onto <b>AL-14 W</b></html_instructions>
<distance>
<value>2186</value>
<text>1.4 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4823000</lat>
<lng>-86.4286600</lng>
</start_location>
<end_location>
<lat>32.4755400</lat>
<lng>-86.4283300</lng>
</end_location>
<polyline>
<points>kegeEbronO~XJtDU~Di@pCM</points>
<levels>B???B</levels>
</polyline>
<duration>
<value>68</value>
<text>1 min</text>
</duration>
<html_instructions>Turn <b>left</b> onto <b>Jasmine Trail</b></html_instructions>
<distance>
<value>755</value>
<text>0.5 mi</text>
</distance>
</step>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>32.4755400</lat>
<lng>-86.4283300</lng>
</start_location>
<end_location>
<lat>32.4755400</lat>
<lng>-86.4288500</lng>
</end_location>
<polyline>
<points>c{eeE`ponO?fB</points>
<levels>BB</levels>
</polyline>
<duration>
<value>11</value>
<text>1 min</text>
</duration>
<html_instructions>Turn <b>right</b> onto <b>Windermere Ave</b><div style="font-size:0.9em">Destination will be on the left</div></html_instructions>
<distance>
<value>49</value>
<text>161 ft</text>
</distance>
</step>
<duration>
<value>558</value>
<text>9 mins</text>
</duration>
<distance>
<value>7472</value>
<text>4.6 mi</text>
</distance>
<start_location>
<lat>32.4582500</lat>
<lng>-86.3841000</lng>
</start_location>
<end_location>
<lat>32.4755400</lat>
<lng>-86.4288500</lng>
</end_location>
<start_address>I65 Srv Rd E, Millbrook, AL 36054, USA</start_address>
<end_address>Prattville, AL 36066, USA</end_address>
</leg>
<copyrights>Map data ©2011 Google</copyrights>
<overview_polyline>
<points>aobeEr{fnOJyCGSsKKUfWwBfDeExEcCjA{s@z`@uNxIkNjJ{JlH{t@bl@eDbBwGvBiBx@~PvPpAhAVNJCnDbFjDvGnA`DnAnErA`I^fHtAbz@~XJtDU~Di@pCM?fB</points>
<levels>B?@@@?@??@??@??A???@???@??@???@B</levels>
</overview_polyline>
<bounds>
<southwest>
<lat>32.4581900</lat>
<lng>-86.4288500</lng>
</southwest>
<northeast>
<lat>32.4893200</lat>
<lng>-86.3831700</lng>
</northeast>
</bounds>
</route>
</DirectionsResponse>
Can you show me the URL which returns this XML data? it may be possible that this problem can be of URL creation. i have used all these information in a app and i found that my problem was URL not parser.
You might be have the same problem so just use '+' instead of space. and let me know if it works.
这篇关于问题在黑莓的XML解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!