private function parseDossiersXmlToResources($xml) { $rootNode = @simplexml_load_string($xml); if (!$rootNode) { echo $xml; throw new RuntimeException("Failed to parse response as XML...\n"); } $resources = array(); foreach ($rootNode->dossier as $dossierNode) { if ($dossierNode->client && $dossierNode->client->eocs) { $clientNode = $dossierNode->client; $providerNode = $dossierNode->provider; foreach ($dossierNode->client->eocs->eoc as $eocNode) { $resource = new Resource(); $resource->setType('perinatologie/dossier'); $resource->addPropertyValue('reference', $eocNode->reference); $resource->addPropertyValue('client_bsn', $clientNode->bsn); $resource->addPropertyValue('client_birthdate', $clientNode->birthdate); $resource->addPropertyValue('client_displayname', $clientNode->displayname); $resource->addPropertyValue('client_zisnr', $clientNode->zisnr); $resource->addPropertyValue('gravida', $eocNode->gravida); $resource->addPropertyValue('para', $eocNode->para); $resource->addPropertyValue('provider_reference', $providerNode->dbname); $resource->addPropertyValue('provider_apiurl', $providerNode->apiurl); $source = new Source(); $source->setApi('v1'); $resource->setSource($source); $resources[] = $resource; } } } return $resources; }
function loadRegisterXml($filename) { $xml = file_get_contents($filename); $resourceNode = @simplexml_load_string($xml); if (!$resourceNode) { throw new RuntimeException("Failed to parse " . $filename); } $resource = new Resource(); $resource->setType('perinatologie/dossier'); foreach ($resourceNode->property as $propertyNode) { $property = new Property((string) $propertyNode['name'], (string) $propertyNode); $resource->addProperty($property); } foreach ($resourceNode->share as $shareNode) { $share = new Share(); $share->setName((string) $shareNode->name); $share->setIdentifierType((string) $shareNode->identifier['type']); $share->setIdentifier((string) $shareNode->identifier); $share->setPermission((string) $shareNode->permission); $resource->addShare($share); } return $resource; }
private function parseResourceXmlToResource($resourceNode) { $resource = new Resource(); $resource->setType((string) $resourceNode['type']); foreach ($resourceNode->property as $propertyNode) { $resource->addPropertyValue($propertyNode['name'], (string) $propertyNode); } return $resource; }