示例#1
0
 /**
  * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement)
  * @return CultureFeed_Cdb_Data_EventDetailList
  */
 public static function parseFromCdbXml(SimpleXMLElement $xmlElement)
 {
     $attributes = $xmlElement->attributes();
     if (empty($attributes['lang'])) {
         throw new CultureFeed_Cdb_ParseException("Lang missing for eventdetail element");
     }
     $eventDetail = new Culturefeed_Cdb_Data_EventDetail();
     $eventDetail->setLanguage((string) $attributes['lang']);
     if (!empty($xmlElement->title)) {
         $eventDetail->setTitle((string) $xmlElement->title);
     }
     if (!empty($xmlElement->shortdescription)) {
         $eventDetail->setShortDescription((string) $xmlElement->shortdescription);
     }
     if (!empty($xmlElement->longdescription)) {
         $eventDetail->setLongDescription((string) $xmlElement->longdescription);
     }
     if (!empty($xmlElement->calendarsummary)) {
         $eventDetail->setCalendarSummary((string) $xmlElement->calendarsummary);
     }
     // Set Performers.
     if (!empty($xmlElement->performers)) {
         $eventDetail->setPerformers(CultureFeed_Cdb_Data_PerformerList::parseFromCdbXml($xmlElement->performers));
     }
     if (!empty($xmlElement->media->file)) {
         foreach ($xmlElement->media->file as $fileElement) {
             $eventDetail->media->add(CultureFeed_Cdb_Data_File::parseFromCdbXML($fileElement));
         }
     }
     if (!empty($xmlElement->price)) {
         $eventDetail->setPrice(CultureFeed_Cdb_Data_Price::parseFromCdbXml($xmlElement->price));
     }
     return $eventDetail;
 }