【问题标题】:when i search the item it shows parse error [closed]当我搜索它显示解析错误的项目时[关闭]
【发布时间】:2013-03-08 03:18:24
【问题描述】:

当我搜索该项目时,它显示解析错误并给出警告。如何删除此警告。 当我搜索该项目时,它显示解析错误并给出警告。如何删除此警告。

如何摆脱这个警告和错误?

Warning: simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: http://svcs.sandbox.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsAdvanced&amp;SERVICE-VERSION=1.8.0&amp;GLOBAL-ID=EBAY-US&amp;SECURITY-APPNAME=arifliaq-093e-43f2-a6ac-1e8ce8da2625&amp;keywords=110114826574&amp;paginationInput.entriesPerPage=1&amp;outputSelector=SellerInfo:1: 

parser error : Opening and ending tag mismatch: link line 1 and head in C:\wamp\www\PHP_PlaceOfferGS_TradingShopping\Browsing.php on line 39"

代码:

<?php
require_once('./sessionHeader.php');
require_once('./SingleItem.php');
require_once('./keys.php');
error_reporting(E_ALL);          // useful to see all notices in development
?>

<HTML>
<HEAD>
<TITLE>Browsing on eBay</TITLE>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="js/JQuery.js"></script>
<script type="text/javascript" src="js/ShowDetails.js"></script>
</HEAD>

<BODY>
<H1>Browsing on eBay</H1>
<br>

<?php
global $shoppingURL,$appID,$eBayVersion,$findingURL,$compatabilityLevel, $findingVer;    // these come from keys.php
//need to urlencode the user-input keyword for the Finding API
$safeQuery = urlencode($_POST['QueryString']);
//construct the URL; we want to get only one returned item to keep things simple so   set entriesPerPage to 1
// (by default, only one page is returned)
$apicall  = "$findingURL?OPERATION-NAME=findItemsAdvanced&SERVICE-VERSION=$findingVer"
        . "&GLOBAL-ID=EBAY-US"
        . "&SECURITY-APPNAME=$appID"
        . "&keywords=$safeQuery"
        . "&paginationInput.entriesPerPage=1"
        . "&outputSelector=SellerInfo";


if ($debug) {
 print"<p>$apicall</p>"; //see what call is if we're debugging-$debug comes from keys.php
 }

 // Load the call and capture the document returned by the Finding API
 $resp = simplexml_load_file($apicall);

// Check to see if the response was loaded, else print an error
if ($resp) {
$results = '';
if ($resp->paginationOutput->totalEntries == 0) {
    $results .= "<BR>Sorry, there were no results found\n";
} else {
 $results .= "<DIV ALIGN=CENTER> \n";
 // If the response was loaded, parse it and build links
 // To keep things simple, we're showing only the first returned item;
 foreach($resp->searchResult->item as $item) {
 $browseItem = new SingleItem($resp->searchResult->item->itemId);
 $results .= $browseItem->getBrowseItemAsHTML_Table();
 $results .= "<form name=\"BidOrBuyIt\" method=\"post\" action=\"./Login.php\" >\n";
 $results .= "<INPUT TYPE=\"submit\" NAME=\"BidOrBuyIt\" VALUE=\"Bid or Buy It!\"> </form>\n";
 $_SESSION['ItemID'] = (string)$browseItem->resp->Item->ItemID;  // cast to string to keep in $_SESSION
 } // for each
 $results .= "</DIV> \n";
}
} else {
$results = "<BR>Sorry, did not receive a search result\n";
} // if $resp
print $results;
?>
</BODY>
</HTML>
![warning][1]

【问题讨论】:

  • 我尝试了这个但仍然错误。如何消除这个错误?
  • $resp = simplexml_load_file($apicall);
  • 上一行的错误

标签: php xml simplexml


【解决方案1】:

在您的文件中将&lt;br&gt; 编辑为&lt;br /&gt;。当您不关闭标签时,它经常出现。

【讨论】:

  • 我试试这个,但在上面的文件中仍然有错误
  • $resp = simplexml_load_file($apicall);
  • 上面一行的错误如何消除这个错误
  • 这不是最好的解决方案
  • 请帮助消除此错误
【解决方案2】:

问题不在于您的代码,而在于您从该 ebay url 获取的 XML。您对此无能为力,除了联系 ebay(以某种方式)并要求他们创建格式良好的 XML。

最简单(但也是最糟糕的)隐藏它的方法是使用@抑制方法。

$resp = @simplexml_load_file($apicall);

【讨论】:

  • 我试试这个,警告丢失并且没有项目搜索
  • 这不是最好的解决方案给另一个建议
  • 这是您提出的问题的解决方案(“如何消除此警告和错误?”)。它隐藏了错误。您的代码中还有许多其他逻辑问题需要修复,然后我什至可以尝试为您提供进一步的帮助,说明为什么它不符合您的要求。
  • 另一种将 url 传递给 simplexml_load_file 的方法
  • 请帮助消除此错误
猜你喜欢
  • 1970-01-01
  • 2019-04-22
  • 2023-04-10
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 2015-03-22
相关资源
最近更新 更多