Проблема в разборе XML в Blackberry - PullRequest
1 голос
/ 19 апреля 2011

Я использую SAX Parser для разбора XML-данных с http-адреса. Я создаю приложение BlackBerry, которое показывает данные о направлении из одного места в другое.

Мое приложение очень точно проанализировало данные для некоторых местоположений, но для некоторых местоположений оно дает мне org.xml.sax.SAXParseException: конечный тег не соответствует начальному тегу meta.

когда я проследил свое приложение, я узнал, что данные, поступающие с http-адреса URL, неверны, хотя URL-адрес содержит правильные данные XML

Данные XML, которые я анализирую:

<?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 &lt;b&gt;east&lt;/b&gt; on &lt;b&gt;Market St&lt;/b&gt;</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 &lt;b&gt;left&lt;/b&gt; to stay on &lt;b&gt;Market St&lt;/b&gt;</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 &lt;b&gt;left&lt;/b&gt; onto &lt;b&gt;Cobbs Ford Rd/Co Rd 2&lt;/b&gt;</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 &lt;b&gt;right&lt;/b&gt; to merge onto &lt;b&gt;I-65 N&lt;/b&gt; toward &lt;b&gt;Birmingham&lt;/b&gt;</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 &lt;b&gt;181&lt;/b&gt; for &lt;b&gt;AL-14&lt;/b&gt; toward &lt;b&gt;Prattville/Wetumpka&lt;/b&gt;</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 &lt;b&gt;left&lt;/b&gt; onto &lt;b&gt;AL-14 W&lt;/b&gt;</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 &lt;b&gt;left&lt;/b&gt; onto &lt;b&gt;Jasmine Trail&lt;/b&gt;</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 &lt;b&gt;right&lt;/b&gt; onto &lt;b&gt;Windermere Ave&lt;/b&gt;&lt;div style=&quot;font-size:0.9em&quot;&gt;Destination will be on the left&lt;/div&gt;</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> 

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

Можете ли вы показать мне URL, который возвращает эти данные XML? Возможно, эта проблема связана с созданием URL. Я использовал всю эту информацию в приложении и обнаружил, что моей проблемой был URL, а не анализатор.

Возможно, у вас та же проблема, поэтому просто используйте «+» вместо пробела. и дайте мне знать, если это работает.

0 голосов
/ 26 апреля 2011

Посмотрите на следующую ссылку.

http://supportforums.blackberry.com/t5/Java-Development/http-demo-question/m-p/202507

Пожалуйста, прочитайте последний ответ на этой странице.Там Тед_Хопп объяснил эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...