$root = $doc->appendChild($root); $title = $doc->createElement("TITLE", $cd->title); $title = $root->appendChild($title); $band = $doc->createElement("BAND", $cd->band); $band = $root->appendChild($band); $tracks = $doc->createElement("TRACKS"); $tracks = $root->appendChild($tracks); foreach ($cd->tracks as $track) { $track = $doc->createElement("TRACK", $track); $track = $tracks->appendChild($track); } return $doc->saveXML(); } } class WebServiceFacade { public static function makeXMLCall(CD $cd) { CDUpperCase::makeString($cd, "title"); CDUpperCase::makeString($cd, "band"); CDUpperCase::makeArray($cd, "tracks"); $xml = CDMakeXML::create($cd); return $xml; } } $tracksFromExternalSource = array("What It Means", "Brr", "Goodbye"); $band = "Never Again"; $title = "Waster of a Rib"; $cd = new CD($tracksFromExternalSource, $band, $title); $xml = WebServiceFacade::makeXMLCall($cd); echo $xml;
$doc = new DomDocument(); $root = $doc->createElement('CD'); $root = $doc->appendChild($root); $title = $doc->createElement('TITLE', $cd->title); $title = $root->appendChild($title); $band = $doc->createElement('BAND', $cd->band); $band = $root->appendChild($band); $tracks = $doc->createElement('TRACKS'); $tracks = $root->appendChild($tracks); foreach ($cd->tracks as $track) { $track = $doc->createElement('TRACK', $track); $track = $tracks->appendChild($track); } return $doc->saveXML(); } } class WebServiceFacade { public static function makeXMLCall(CD $cd) { CDUpperCase::makeString($cd, 'title'); CDUpperCase::makeString($cd, 'band'); CDUpperCase::makeArray($cd, 'tracks'); $xml = CDMakeXML::create($cd); return $xml; } } header("Content-type:text/xml"); $cd = new CD('five hundred miles', 'five jone', array('good-bye', 'hello', 'mister kitty')); print_r(WebServiceFacade::makeXMLCall($cd));
public static function create(CD $cd) { $doc = new DomDocument(); $root = $doc->createElement('CD'); $root = $doc->appendChild($root); $title = $doc->createElement('TITLE', $cd->title); $title = $root->appendChild($title); $band = $doc->createElement('BAND', $cd->band); $band = $root->appendChild($band); $tracks = $doc->createElement('TRACKS'); $tracks = $root->appendChild($tracks); foreach ($cd->tracks as $track) { $track = $doc->createElement('TRACK', $track); $track = $tracks->appendChild($track); } return $doc->saveXML(); } } class WebServiceFacade { public static function makeXMLCall(CD $cd) { CDUpperCase::makeString($cd, 'title'); CDUpperCase::makeString($cd, 'band'); CDUpperCase::makeArray($cd, 'tracks'); $xml = CDMakeXML::create($cd); return $xml; } } print WebServiceFacade::makeXMLCall($cd);