/** * Returns product by xml string. * * @param string XML. * @return Product. */ static function product($xml) { $x = new \SimpleXMLElement($xml); $result = new Product(); $result->id(trim((string) $x->productID)); $result->name(trim((string) $x->name)); $result->currency(trim((string) $x->price['currency'])); $result->price(trim((string) $x->price)); $result->url(trim((string) $x->productURL)); $result->imgUrl(trim((string) $x->imageURL)); $result->description(trim((string) $x->description)); $cats = []; foreach ($x->categories->category as $cat) { $cats[] = trim((string) $cat); } $result->categories($cats); $adds = []; foreach ($x->additional->field as $add) { $adds[trim((string) $add['name'])] = trim((string) $add); } $result->additional($adds); return $result; }