public static function fromJson($json) { $r = new Item(); $r->setId($json->id); $r->setSku($json->sku); return $r; }
public function getItemData($itemId) { $xml = $this->getItem($itemId); $doc = new DOMDocument(); $desdoc = new DOMDocument(); $doc->loadXML($xml); $desdoc->loadHTML($doc->getElementsByTagName("Description")->item(0)->nodeValue); // GET DESCRIPTION DIV $divs = $desdoc->getElementsByTagName("div"); foreach ($divs as $div) { if ($div->attributes->getNamedItem("class")->nodeValue != "des") { continue; } $des = $div; break; } $descr_str = $desdoc->saveHTML($des); //////////////////////// // GET STYLES $style_str = ""; $styles = $desdoc->getElementsByTagName("style"); foreach ($styles as $style) { $style_str .= $desdoc->saveHTML($style); } //////////////////////// // GET Scripts $script_str = ""; $scripts = $desdoc->getElementsByTagName("script"); foreach ($scripts as $script) { $script_str .= $desdoc->saveHTML($script); } //////////////////////// $item = new Item(); $item->description = $script_str . " " . $style_str . " " . $descr_str; $item->setSku($doc->getElementsByTagName("SKU")->item(0)->nodeValue); $item->price = $doc->getElementsByTagName("CurrentPrice")->item(0)->nodeValue; $item->currency = $doc->getElementsByTagName("CurrentPrice")->item(0)->attributes->getNamedItem("currencyID")->nodeValue; $item->quantity = $doc->getElementsByTagName("Quantity")->item(0)->nodeValue; $item->categoryId = $doc->getElementsByTagName("CategoryID")->item(0)->nodeValue; $item->categoryName = $doc->getElementsByTagName("CategoryName")->item(0)->nodeValue; $pictures = $doc->getElementsByTagName("PictureURL"); $item->pictures = array(); foreach ($pictures as $pic) { array_push($item->pictures, $pic->nodeValue); } $item->name = $doc->getElementsByTagName("Title")->item(0)->nodeValue; return $item; }