Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Xml, besoin d'aide

Par Astellig GR le 31/7/2002 à 7:36:23 (#1879952)

Hello :)
J'ai parcouru pas mal de site de guilde est j'ai vu que certaine utilisé le Xml pour donné les infos d'un serveur (nbre de joueurs etc)

Quelqu'un serait t'il m'expliker concretement que faut il comme fichier quel serait la source etc :)

Voila merci

Par Abraham Lincoln le 31/7/2002 à 7:44:55 (#1879964)

Cela est explique sur la faq

Par Astellig GR le 31/7/2002 à 7:48:45 (#1879967)

Disons que c'est pas tres clair :)
Enfin je vais jeter un oeil :)

Par Abraham Lincoln le 31/7/2002 à 7:50:25 (#1879969)

oui c'est pas tres bien explique en effet .P


Mais bon c'est deja ca

Par Astellig GR le 31/7/2002 à 7:52:01 (#1879971)

Heu a part dans la partie XML je vois rien d'autre et dans la FAQ ils parlent pas de ca :/

Par Lylendrill le 31/7/2002 à 8:38:55 (#1880057)

Le mieux c'est que tu traites le XML comme n'importe quel fichier texte, ensuite il te suffit de programmer un petit analyseur syntaxique en php qui se chargera de recup les elements qui vont bien et de les stocker / mettre en forme.

Par Astellig GR le 31/7/2002 à 8:43:32 (#1880066)

Erf et tu aurais une site qui explique ca? :)

Par Okam le 31/7/2002 à 8:54:30 (#1880097)

oui, le camelot Herald : http://www.camelotherald.com/xml.php

avec un exemple : http://home.greycouncil.org/download.php?op=getit&lid=7

pour plus d'infos tu m'envoie un MP

Re: Xml, besoin d'aide

Par bigben le 31/7/2002 à 10:37:18 (#1880508)

Provient du message de Astellig GR
Hello :)
J'ai parcouru pas mal de site de guilde est j'ai vu que certaine utilisé le Xml pour donné les infos d'un serveur (nbre de joueurs etc)

Quelqu'un serait t'il m'expliker concretement que faut il comme fichier quel serait la source etc :)

Voila merci


Quelle outils peux tu utiliser pour traiter le fichier XML ? (php/asp/xml - xsl)
Pour la source, ce sera les fichiers de GOA :
- toutes les infos (serveurs + forts)
http://www.camelot-europe.com/herald/servers.xml
- uniquement les infos serveur (up/down & nb joueurs)
http://www.camelot-europe.com/herald/nb_connected.xml



Si tu veux faire ca en PHP, vas voir sur le site de ma guilde (Spectre d'emeraude) et si ca te convient, je poste le code ce soir

Par Astellig GR le 31/7/2002 à 15:45:42 (#1882996)

Valal bigben c a peu pres le resultat que je veux :)
Sinon merci a tous pour vos reponse je pense que ca m'aidera :)

Par Polmera Mygas le 31/7/2002 à 15:59:29 (#1883110)

Yop,
j'ai fait des chroniques en php : http://membres.lycos.fr/tinaoviel/Chroniques.html
Le site www.commentcamarche.net offre de tres bonnes explications et cours sur le php et le xml, et d'ailleurs sur tous les domaines de l'informatique.
Finalement c pas si compliaue ;)

Par bigben le 1/8/2002 à 11:17:31 (#1888597)

oups, je crois que j'ai oublie de poster mon code :)

donc, le voici :

code php a placer dans la page ou doit etre affiche l'etat des serveurs

",
"FRENCH"=>",
"ENGLISH"=>",
"GERMAN"=>",
"END"=>",
"LANGUAGE"=>",
"PLAYERS"=>array(
"FLAG"=>false,
"TOTAL"=>0,
),
"DATA"=>false,
"EN2FR"=>array(
"FRENCH"=>"Français",
"ENGLISH"=>"Anglais",
"GERMAN"=>"Allemand",
)
);
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "data");

$fichier = fopen("http://www.camelot-europe.com/herald/nb_connected.xml", "r");
$data = ";
while(!feof($fichier)) $data .= fgets($fichier, 1024);
if(!xml_parse($xml_parser, $data, feof($fichier))) die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
xml_parser_free($xml_parser);
fclose($fichier);

echo $HTMLCode["START"];
echo $HTMLCode["FRENCH"];
echo $HTMLCode["ENGLISH"];
echo $HTMLCode["GERMAN"];
echo $HTMLCode["END"];
?>

<?
function startElement($parser, $name, $attrs) {
global $HTMLCode;

switch($name) {
case "SERVER_STATUS":
$HTMLCode["START"] .= "\n";
break;
case "SERVER":
$HTMLCode["LANGUAGE"] = strtoupper($attrs["TYPE"]);
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "\n";
$HTMLCode[$HTMLCode["LANGUAGE"]] .= " " . $attrs["NAME"] . "...\n";
$HTMLCode[$HTMLCode["LANGUAGE"]] .= ";
break;
case "STATUS":
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "Status:";
$HTMLCode["DATA"] = true;
break;
case "POPULATION":
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "Joueurs:";
$HTMLCode["DATA"] = true;
$HTMLCode["PLAYERS"]["FLAG"] = true;
break;
}
}

function endElement($parser, $name) {
global $HTMLCode;

switch($name) {
case "SERVER_STATUS":
$HTMLCode["END"] .= " . $HTMLCode["PLAYERS"]["TOTAL"] . " joueurs\n";
$HTMLCode["END"] .= "\n";
break;
case "SERVER":
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "\n";
break;
case "STATUS":
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "\n";
$HTMLCode["DATA"] = false;
break;
case "POPULATION":
$HTMLCode[$HTMLCode["LANGUAGE"]] .= "\n";
$HTMLCode["DATA"] = false;
$HTMLCode["PLAYERS"]["FLAG"] = false;
break;
}
}

function data($parser, $data) {
global $HTMLCode;

if($HTMLCode["DATA"]) {
switch($data) {
case "Up":
$data = "Ouvert";
break;
case "Down":
$data = "Fermé";
break;
default:
if($HTMLCode["PLAYERS"]["FLAG"]) $HTMLCode["PLAYERS"]["TOTAL"] += $data;
break;
}
$HTMLCode[$HTMLCode["LANGUAGE"]] .= $data;
}
}
?>


styles associes (qui peuvent etre redefinis en fonction de la charte de ton site) :


tr.xmlserver {font: bold 8pt verdana, arial; color: green; background: #BBBBBB}
tr.xml {font: 8pt verdana, arial; color: black; background: #EEEEEE}
td.xml {border-top: solid 1px black; border-right: solid 2px black; border-bottom: solid 1px black; border-left: solid 1px black}
td.right {text-align: right}
a.xml {font: bold 8pt verdana, arial; color: black; text-decoration: none}
a.xml:hover {color: green}
td.separator {text-align: center; width: 10px}
td.bold {font: bold 8pt verdana, arial; color: black; background: #EEEEEE}
tr.xmltotal {font: bold 10pt verdana, arial; color: black; background: #BBBBBB}
td.xmltotal {text-align: center; border-top: solid 1px black; border-right: solid 2px black; border-bottom: solid 2px black; border-left: solid 1px black}


si qqun veut plus d'aide.... ====> MP :)

Par Fantome le 1/8/2002 à 11:40:38 (#1888735)

en effet, j'aurais eu du mal a trouver tout seul :eek:

JOL Archives 1.0.1
@ JOL / JeuxOnLine