当我搜索该项时,它显示解析错误并给出warning.how以删除此警告。 当我搜索该项时,它显示解析错误并给出warning.how以删除此警告。
如何摆脱这种警告&错误?
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&SERVICE-VERSION=1.8.0&GLOBAL-ID=EBAY-US&SECURITY-APPNAME=arifliaq-093e-43f2-a6ac-1e8ce8da2625&keywords=110114826574&paginationInput.entriesPerPage=1&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]
答案 0 :(得分:1)
问题不在您的代码中,而是在您从该ebay网址获取的XML中。你无能为力,除了联系易趣(不知何故),并要求他们创建格式良好的XML。
隐藏它的最简单(也是最坏)的方法是使用@ suppress方法。
$resp = @simplexml_load_file($apicall);
答案 1 :(得分:-1)
在您的文件中修改<br>
至<br />
。通常在您不关闭标签时会出现。