Xml y xsd en php, ¿Cómo trabajar con ellos y que relación tienen...?

Estoy empezando a pegarme con php y me han puesto un ejercicio donde me han proporcionado un fichero xml y su fichero xsd... Por lo que he visto el xsd es la gramática del fichero xml... Pues bien, debo crear un archivo xml con ciertos datos que cumpla las normas del xsd... El caso es que no sé por donde empezar, ¿qué pasos debo seguir? ¿Genero clases a partir del xsd? ¿Y cómo si es así? ¿Genero un xml con los datos? ¿Cómo si van por ahí los tiros? ¿Y cómo valido el xml una vez hecho?... Como veis tengo bastante lio.. ¿alguien puede arrojarme un poco de guía sobre que debo hacer? ¿O algún ejemplo que pueda seguir?

1 respuesta

Respuesta

Te envio la estrucutura de un xml que utilizo para pintar unos marcadores sobre un mapa de google maps.

Debes saber que el xml es utlizado por diferentes programas. La conexion a base de datos no da ningun problema.

¿

<?php

require_once('Connections/sico.php');
// Start XML file, create parent node

$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);

// Opens a connection to a MySQL server

$connection=mysql_connect ('localhost', $username_sico, $password_sico);
if (!$connection) { die('Not connected : ' . mysql_error());}

// Set the active MySQL database

$db_selected = mysql_select_db($database_sico, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}

// Select all the rows in the markers table

$query = "SELECT * FROM armarios";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}

header("Content-type: text/xml");

// Iterate through the rows, adding XML nodes for each

while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['Name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("type", $row['type']);
$newnode->setAttribute("id", $row['id']);
$newnode->setAttribute("dis", $row['iddistribuidor']);
}

echo $dom->saveXML();

?> 

y lo que me genera es esto 

y ya sobre el mapa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas