php 我收到此错误:XML 解析错误:文档元素后的垃圾

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15280293/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 08:58:21  来源:igfitidea点击:

I am getting this error : XML Parsing Error: junk after document element

phpxmlxml-parsing

提问by user1836957

I am trying to implement a store locator using php, javascript, html, css. The first step is to get my database query parsing in xml format, But I am getting an error that does not make sense to me. it says :

我正在尝试使用 php、javascript、html、css 实现商店定位器。第一步是让我的数据库查询解析为 xml 格式,但我收到一个对我来说没有意义的错误。它说 :

{ XML Parsing Error: junk after document element Line Number 3, Column 9: --------^}

{ XML 解析错误:文档元素第 3 行,第 9 列之后的垃圾:--------^}

The weird part is when I hit enter in line 3 to push error to line 4, error context does not change, it seems that error does not have any thing with the the code.

奇怪的是,当我在第 3 行按下 Enter 键将错误推送到第 4 行时,错误上下文没有改变,似乎错误与代码没有任何关系。

The XML:

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>

回答by Luke Wyatt

The problem here is with the XML content. The error is stating that there are characters outside of an XML element. Such as

这里的问题在于 XML 内容。错误表明在 XML 元素之外有字符。如

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

Post the XML being parsed if you'd like further help.

如果您需要进一步的帮助,请发布正在解析的 XML。

回答by Steven D. Majewski

That is not really XML if there is no single root element. Try wrapping all of those elements in a single root. The "junk" the parser is complaining about is the multiple roots after the first one, which is the only one it considers valid.

如果没有单个根元素,那就不是真正的 XML。尝试将所有这些元素包装在一个根中。解析器抱怨的“垃圾”是第一个根之后的多个根,这是它认为有效的唯一根。

回答by AlienWebguy

There is likely content after the XML body that the browser doesn't expect. Make sure the browser is ONLY receiving the XML and nothing else, including whitespace or line breaks.

XML 正文之后可能有浏览器不期望的内容。确保浏览器只接收 XML 而没有其他任何东西,包括空格或换行符。

回答by delmoras

Well try to use eiter CDATA to wrap your content from database as there might be junk inside the text. An other solution is to make a function which will replace characters that can't be parsed

好吧,尝试使用 eiter CDATA 从数据库中包装您的内容,因为文本中可能存在垃圾。另一种解决方案是创建一个函数来替换无法解析的字符