src/phpGPX/Models/GpxFile.php
public function toXML()
	{
		$document = new \DOMDocument("1.0", 'UTF-8');

		$gpx = $document->createElementNS("http://www.topografix.com/GPX/1/1", "gpx");
		$gpx->setAttribute("version", "1.1");
		$gpx->setAttribute("creator", $this->creator ? $this->creator : phpGPX::getSignature());

		ExtensionParser::$usedNamespaces = [];

		if (!empty($this->metadata)) {
			$gpx->appendChild(MetadataParser::toXML($this->metadata, $document));
		}

		foreach ($this->waypoints as $waypoint) {
			$gpx->appendChild(PointParser::toXML($waypoint, $document));
		}

		foreach ($this->routes as $route) {
			$gpx->appendChild(RouteParser::toXML($route, $document));
		}

		foreach ($this->tracks as $track) {
			$gpx->appendChild(TrackParser::toXML($track, $document));
		}

		if (!empty($this->extensions)) {
			$gpx->appendChild(ExtensionParser::toXML($this->extensions, $document));
		}

		// Namespaces
		$schemaLocationArray = [
			'http://www.topografix.com/GPX/1/1',
			'http://www.topografix.com/GPX/1/1/gpx.xsd'
		];

		foreach (ExtensionParser::$usedNamespaces as $usedNamespace) {
			$gpx->setAttributeNS(
				"http://www.w3.org/2000/xmlns/",
				sprintf("xmlns:%s", $usedNamespace['prefix']),
				$usedNamespace['namespace']
			);

			$schemaLocationArray[] = $usedNamespace['namespace'];
			$schemaLocationArray[] = $usedNamespace['xsd'];
		}

		$gpx->setAttributeNS(
			'http://www.w3.org/2001/XMLSchema-instance',
			'xsi:schemaLocation',
			implode(" ", $schemaLocationArray)
		);

		$document->appendChild($gpx);

		if (phpGPX::$PRETTY_PRINT) {
			$document->formatOutput = true;
			$document->preserveWhiteSpace = true;
		}
		return $document;
	}
public function toXML()
	{
		$document = new \DOMDocument("1.0", 'UTF-8');

		$gpx = $document->createElementNS("http://www.topografix.com/GPX/1/1", "gpx");
		$gpx->setAttribute("version", "1.1");
		$gpx->setAttribute("creator", $this->creator ? $this->creator : phpGPX::getSignature());

		ExtensionParser::$usedNamespaces = [];

		if (!empty($this->metadata)) {
			$gpx->appendChild(MetadataParser::toXML($this->metadata, $document));
		}

		foreach ($this->waypoints as $waypoint) {
			$gpx->appendChild(PointParser::toXML($waypoint, $document));
		}

		foreach ($this->routes as $route) {
			$gpx->appendChild(RouteParser::toXML($route, $document));
		}

		foreach ($this->tracks as $track) {
			$gpx->appendChild(TrackParser::toXML($track, $document));
		}

		if (!empty($this->extensions)) {
			$gpx->appendChild(ExtensionParser::toXML($this->extensions, $document));
		}

		// Namespaces
		$schemaLocationArray = [
			'http://www.topografix.com/GPX/1/1',
			'http://www.topografix.com/GPX/1/1/gpx.xsd'
		];

		foreach (ExtensionParser::$usedNamespaces as $usedNamespace) {
			$gpx->setAttributeNS(
				"http://www.w3.org/2000/xmlns/",
				sprintf("xmlns:%s", $usedNamespace['prefix']),
				$usedNamespace['namespace']
			);

			$schemaLocationArray[] = $usedNamespace['namespace'];
			$schemaLocationArray[] = $usedNamespace['xsd'];
		}

		$gpx->setAttributeNS(
			'http://www.w3.org/2001/XMLSchema-instance',
			'xsi:schemaLocation',
			implode(" ", $schemaLocationArray)
		);

		$document->appendChild($gpx);

		if (phpGPX::$PRETTY_PRINT) {
			$document->formatOutput = true;
			$document->preserveWhiteSpace = true;
		}
		return $document;
	}
public function toXML ( ) { $ document = new \ DOMDocument ( "1.0" , 'UTF-8' ) ; $ gpx = $ document -> createElementNS ( "http://www.topografix.com/GPX/1/1" , "gpx" ) ; $ gpx -> setAttribute ( "version" , "1.1" ) ; $ gpx -> setAttribute ( "creator" , $ this -> creator ? $ this -> creator : phpGPX :: getSignature ( ) ) ; ExtensionParser :: $ usedNamespaces = [ ] ; if ( ! empty ( $ this -> metadata ) ) { $ gpx -> appendChild ( MetadataParser :: toXML ( $ this -> metadata , $ document ) ) ; } foreach ( $ this -> waypoints as $ waypoint ) { $ gpx -> appendChild ( PointParser :: toXML ( $ waypoint , $ document ) ) ; } foreach ( $ this -> routes as $ route ) { $ gpx -> appendChild ( RouteParser :: toXML ( $ route , $ document ) ) ; } foreach ( $ this -> tracks as $ track ) { $ gpx -> appendChild ( TrackParser :: toXML ( $ track , $ document ) ) ; } if ( ! empty ( $ this -> extensions ) ) { $ gpx -> appendChild ( ExtensionParser :: toXML ( $ this -> extensions , $ document ) ) ; } // Namespaces $ schemaLocationArray = [ 'http://www.topografix.com/GPX/1/1' , 'http://www.topografix.com/GPX/1/1/gpx.xsd' ] ; foreach ( ExtensionParser :: $ usedNamespaces as $ usedNamespace ) { $ gpx -> setAttributeNS ( "http://www.w3.org/2000/xmlns/" , sprintf ( "xmlns:%s" , $ usedNamespace [ 'prefix' ] ) , $ usedNamespace [ 'namespace' ] ) ; $ schemaLocationArray [ ] = $ usedNamespace [ 'namespace' ] ; $ schemaLocationArray [ ] = $ usedNamespace [ 'xsd' ] ; } $ gpx -> setAttributeNS ( 'http://www.w3.org/2001/XMLSchema-instance' , 'xsi:schemaLocation' , implode ( " " , $ schemaLocationArray ) ) ; $ document -> appendChild ( $ gpx ) ; if ( phpGPX :: $ PRETTY_PRINT ) { $ document -> formatOutput = true ; $ document -> preserveWhiteSpace = true ; } return $ document ; }
Create XML representation of GPX file.
@return \DOMDocument
Create XML representation of GPX file .