7

php、javascript、html、css を使用してストア ロケータを実装しようとしています。最初のステップは、データベース クエリを xml 形式で解析することですが、意味をなさないエラーが発生します。それは言う:

{ XML 解析エラー: ドキュメント要素の行番号 3、列 9 の後のジャンク: --------^}

奇妙な部分は、エラーを 4 行目にプッシュするために 3 行目で Enter キーを押したときです。エラー コンテキストは変更されません。

XML:

<parks storeName="Devonshire Park" streetNumber="1250" lat="49.245020" lng="-123.13364" distance="0.3444475521254494"></parks>
<parks storeName="Shaughnessy Park" streetNumber="1300" lat="49.255715" lng="-123.13506" distance="0.4027917748443472"></parks>
<parks storeName="Braemar Park" streetNumber="895" lat="49.247615" lng="-123.12363" distance="0.46626204419188244"></parks>
<parks storeName="Douglas Park" streetNumber="801" lat="49.252493" lng="-123.12222" distance="0.5285969452661102"></parks>
<parks storeName="Angus Park" streetNumber="3600" lat="49.253932" lng="-123.14381" distance="0.5463666448497029"></parks>
<parks storeName="Heather Park" streetNumber="702" lat="49.254765" lng="-123.12110" distance="0.6412282952671712"></parks>
<parks storeName="Granville Park" streetNumber="3001" lat="49.258105" lng="-123.14239" distance="0.6940531309415132"></parks>
<parks storeName="VanDusen Botanical Gardens" streetNumber="5251" lat="49.239181" lng="-123.13129" distance="0.7530451429246237"></parks>
<parks storeName="Quilchena Park" streetNumber="4590" lat="49.243690" lng="-123.14886" distance="0.8262659935827044"></parks>
<parks storeName="Oak Meadows Park" streetNumber="899" lat="49.238445" lng="-123.12579" distance="0.867320490203991"></parks>
<parks storeName="Arbutus Village Park" streetNumber="4202" lat="49.249783" lng="-123.15525" distance="0.9901511999872843"></parks>
<parks storeName="Choklit Park" streetNumber="" lat="49.265482" lng="-123.12890" distance="1.0880158966243803"></parks>
<parks storeName="Prince Edward Park" streetNumber="3773" lat="49.244397" lng="-123.15642" distance="1.1124111373800636"></parks>
<parks storeName="Prince of Wales Park" streetNumber="4780" lat="49.244397" lng="-123.15642" distance="1.1124111373800636"></parks>
<parks storeName="Queen Elizabeth Park" streetNumber="4600" lat="49.240978" lng="-123.11202" distance="1.1445698543044514"></parks>
<parks storeName="Willow Park" streetNumber="802" lat="49.264868" lng="-123.12203" distance="1.14618861456822"></parks>
<parks storeName="Hillcrest Park" streetNumber="4501" lat="49.244734" lng="-123.10841" distance="1.1801942385262174"></parks>
<parks storeName="Ravine Park" streetNumber="2159" lat="49.240902" lng="-123.15593" distance="1.1988469137694855"></parks>
<parks storeName="Granville Loop Park" streetNumber="1435" lat="49.267284" lng="-123.13754" distance="1.2094922772420964"></parks>
<parks storeName="Charleson Park" streetNumber="999" lat="49.266995" lng="-123.12420" distance="1.2439538809012058"></parks>
4

4 に答える 4

11

単一のルート要素がない場合、それは実際には XML ではありません。これらすべての要素を 1 つのルートにラップしてみてください。パーサーが不平を言っているのは、最初のルートの後の複数のルートです。これは、有効と見なされる唯一のルートです。

于 2013-03-08T04:53:03.213 に答える
8

ここでの問題は、XMLコンテンツにあります。エラーは、XML要素の外部に文字があることを示しています。そのような

<document>
  <element>
  </element>
</document>
<junk></junk>  <-- after the root element

さらにヘルプが必要な場合は、解析中のXMLを投稿してください。

于 2013-03-07T19:48:15.133 に答える
0

XML 本体の後に、ブラウザーが想定していないコンテンツがある可能性があります。ブラウザーが XML のみを受信して​​いることを確認し、空白や改行を含め、それ以外のものは何も受信していません。

于 2013-03-07T19:46:48.070 に答える
-1

テキスト内にジャンクが含まれている可能性があるため、データベースからコンテンツをラップするためにeiterCDATAを使用してみてください。もう1つの解決策は、解析できない文字を置き換える関数を作成することです。

于 2013-03-07T19:49:50.200 に答える