TOUT sur les XML, C'est par ici !

Répondre
Partager Rechercher
Et oui avec l'arrivé des nouvelles pages XML (il nous en manque encore) le temps est donc au codage des page php pouvant nous sortir les infos. J'ouvre donc le bal avec la premiere page qui vous donne les membres de votre guilde a la manière des nouvelles chroniques.

A voir ici http://www.uniondemidgard.fr.st/xmlcamelot.php

et le code si dessou

  • <html>
    <head>
    <title>guilde</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body bgcolor="#FFFFFF" background="background-8.gif">
    <p align="center"><br>
    </p><center>
    <table width="89%" border="1">
    <tr>
    <td><font face="Viking-Normal" color="#009999">Noms</font></td>
    <td><font face="Viking-Normal" color="#009999">Races</font></td>
    <td><font face="Viking-Normal" color="#009999">Classes</font></td>
    <td><font face="Viking-Normal" color="#009999">Niveau</font></td>
    <td><font face="Viking-Normal" color="#009999">Rang Guilde</font></td>
    <td><font face="Viking-Normal" color="#009999">Points RP</font></td>
    <td><font face="Viking-Normal" color="#009999">Derniere connexion</font></td>
    </tr>
    <?
    ////////////////////////////////////////
    // CONFIG //
    ////////////////////////////////////////

    $guilde = "193"; //Mettez ici votre numéro de guilde (serveurs GOA)

    //////////////////////////////////////
    // FIN DE CONFIG //
    //////////////////////////////////////

    $xml_parseur = xml_parser_create();
    $k;

    function ouverture ($parser, $name, $attrs){
    global $k;
    global $last;

    switch ($name)
    {
    case "GUILD":
    ?>
    <font face="Viking-Normal" color="#009999"><div align="center">Guilde</font> :
    <?
    echo $attrs["NAME"];
    ?>
    <font face="Viking-Normal" color="#009999">Royaume</font> :
    <?
    echo $attrs["REALM"];
    ?>
    <br><font face="Viking-Normal" color="#009999">Membres</font> :
    <?
    echo $attrs["ACTIVECHARS"];
    ?>
    <font face="Viking-Normal" color="#009999">Nombre de joueurs jouant ces persos</font> :
    <?
    echo $attrs["ACTIVEMEMBERS"];
    ?>
    <br><font face="Viking-Normal" color="#009999">RP de la guilde</font> :
    <?
    echo $attrs["GUILDRP"];
    ?></div><br><br><?
    break;

    case "CHARACTER":
    ?><td><font face="Viking-Normal" color="#009999"><?
    echo $attrs["NAME"];
    $last = $attrs["LASTON"];
    ?></td><?
    break;

    case "CLASS":
    ?><td><center><font face="Viking-Normal" color="#009999"><?
    $k = 1;
    break;

    case "RACE":
    ?><td><center><font face="Viking-Normal" color="#009999"><?
    $k = 1;
    break;

    case "LEVEL":
    ?><td><center><font face="Viking-Normal" color="#009999"><?
    $k = 1;
    break;

    case "GUILDRANK":
    ?><td><center><font face="Viking-Normal" color="#009999"><?
    $k = 1;
    break;

    case "TOTALRP":
    ?><td><center><font face="Viking-Normal" color="#009999"><?
    $k = 1;
    break;

    // case "LASTWEEKRP":
    // ?><td><font face="Viking-Normal" color="#009999"><?
    // $k = 1;
    // break;

    // case "ANON":
    // ?><td><font face="Viking-Normal" color="#009999"><?
    // $k = 1;
    // break;
    }
    }

    function fermeture ($parser, $name){
    global $k;
    global $last;

    switch ($name)
    {
    case "CLASS":
    $k = 0;
    default:
    return TRUE;
    break;

    case "RACE":
    $k = 0;
    default:
    return TRUE;
    break;

    case "LEVEL":
    $k = 0;
    default:
    return TRUE;
    break;

    case "GUILDRANK":
    $k = 0;
    default:
    return TRUE;
    break;

    case "TOTALRP":
    ?></td><td><center><font face="Viking-Normal" color="#009999"><? echo $last; ?></center></td></tr><?
    $k = 0;
    default:
    return TRUE;
    break;

    // case "LASTWEEKRP":
    // $k = 0;
    // default:
    // return TRUE;
    // break;

    // case "ANON":
    // ?></td></tr><?
    // $k = 0;
    // default:
    // return TRUE;
    // break;
    }
    }

    function texte ($parser, $data_text){
    global $k;

    if ($k == 1)
    echo $data_text;
    return $data_text;
    }

    function defaut (){
    return TRUE;
    }

    xml_set_element_handler($xml_parseur, "ouverture", "fermeture");
    xml_set_character_data_handler($xml_parseur, "texte");
    xml_set_default_handler($xml_parseur,"defaut");
    $fp = fopen("http://www.camelot-europe.com/herald/servers/Broceliande/guilds/$guilde.xml", "r") or die("Fichier introuvable. L'analyse a ete suspendue");
    while ($fdata = fread($fp, 2048)){
    xml_parse($xml_parseur, $fdata, feof($fp)) or die(
    sprintf("Erreur XML : %s à la ligne %d\n",
    xml_error_string(xml_get_error_code($xml_parseur)),
    xml_get_current_line_number($xml_parseur))
    );
    }
    ?>
    </tr>
    </table>
    <br><br>
    @création <a href="mailto:apophyss@djeyl.net">Apophyss</a>
    </center>
    </body>
    </html>
Ca marche pour moi
Pour moi ca marche nickel... j'ai juste du chercher le N° correspondant à ma guilde à tatons mais bon vu que c'est 71 j'ai pas mis trop de temps
http://membres.lycos.fr/valhallaspirits/chro.php

Lui manque encore quelques infos dans leur xml (artisanat notamment), j'espère qu'ils vont pas trop tarder.

Sinon j'ai pas trouvé de façon de se servir du xml parse pour inclure les données dans des conditions (je cherche notamment à remplacer le n° de rang de guilde par son nom véritable, chose que j'arrive à faire avec une base SQL en ne stockant que le n°)
A partir du code d'apophyss (merci, ça m'a bien aidé pour débuter avec xml en php) et des informations de ce post, j'ai concocté une petite fonction de consultation des membres de toutes les guildes de DAOC Europe.

C'est sur le site de ma guilde, Blizzard Horde :

Guildes de DAoC Europe
Petit question , il remet le ficher a jour tous les combien !!!!!!!

Car je suis persque 28 et je suis toujour 26 et j ai 2 membre qui sont partie de ma guilde

ci quelque un l info merci
euh moi j'ai un probleme dans ton code Apophiss a la ligne 51 sur la fonction Parse .... le code d'erreur est le suivant : Call to undefined function: xml_parser_create()

Comme ca fait pas tres longtemps que j'utilise du php je suis un peu a la rue du coup

Si qq'un pouvait m'aider ca serait tres sympa sinon je passerai qq jours a me gratter la tete lol
vi j'ai verifié en effet, le code est bien compilé mais il s'agit apparemment d'un probléme lié au serveurs puisque je n'ai aucun probleme en local ni chez un autre hebergeur.

En attendant j'ai mis le fichier php sur un autre serveur

Merci de ta reponse Aron
Y a eu une mise a jour aujourd'hui, en tout cas sur mid/Ys, puisqu'on a un inactif de plus dans ma guilde si on regarde ma page, par rapport à hier.
Chronique
Pour l'instant, il n'y a que les joueurs actifs inactifs qui bougent (à la baisse).

Le reste est inchangé.

Il y a eu un arret ce midi. Je pensais que c'etait pour mettre à jour
__________________
Sous prétexte qu'ils ont l'avenir devant eux, les Hommes vivent au jour le jour---Tristan Bernard
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés