TOUT sur les XML, C'est par ici !

Répondre
Partager Rechercher
Citation :
Provient du message de apophyss
oui aron le seul hic c'est qu'on demande les sources et on nous donne des résultats Moi j'aime bien le coté je travaille pour moi les allez vous .... (comme billou)

Pour info des jolies chroniques avec classement qu'on a vu circuler, il m'a fallu reprendre ce travail de zero, creation du script que remplis la base sql ... alors que si les sources sont open on va beaucoup plus vite (c'est aussi ce qu'on apelle "travailler pour la communutée")
Maintenant il est vrai que certains préfèrent les garder mais bon ...
Je précise qu'une fois ma base sql en fonctions opérationnelle et sans bugs elle sera ouverte avec un acces en lecture pour les personnes qui le désirerons.
Ben moi je veux bien mettre mes scripts en ligne mais :

- je suis débutant en php, donc c'est pas forcément du code ni eficace, ni propre, ni réutilisable facilement,
- c'est intégré dans mon site, lui-même construit artisanalement, ce qui veut dire qu'une partie des scripts n'ont rien avoir avec le traitement en lui-même

Mais c'est vrai que ton script m'avait bien aidé.
Un if/endif cest lourd plus y en a plus c'est long )
(Bon je sais on dit plus cest long plus c'est bon )

Ceci :
Code:
$type = $attrs["TYPE"]; 
if ($type== fletching)
{
$craft = "Empenage";
}
elseif ($type == weaponcraft)
{
$craft = "Forge";
}
elseif ($type == armorcraft)
{
$craft = "Armurerie";
}
elseif ($type == tailoring)
{
$craft = "Couture";
}
echo $craft;
Peut etre fait en trois ligne :

Code:
$skill = array("fletching" => "Empenage", "weaponcraft" => "Forge", "armorcraft" => "Armurerie", "tailoring" => "Couture");
$craft = $skill[$attrs['TYPE']];
echo $craft;
Donc on peut faire la meme chose pour chaque traduction
Bravo pour tout ce magnifique code auquel je ne comprends que la moitié mais enfin bon...

Mon grand rêve à moi (les skalds, c'est un peu rêveur parfois), c'est non seulement d'avoir une page complète des membres mais également de pouvoir faire un lien sur chaque nom pour fournir à chaque membre une page individuelle avec portrait (insertion manuelle évidemment), informations du personnage automatiques (xml) et background du personnage (manuel par les membres ou par moi, admin).

Quelqu'un a-t-il la gentillesse de me donner une piste dans le cas où quelque chose du style est possible? Je ne suis pas à l'aise avec xml et juste un peu plus avec sql (utilisation récente par la méthode du tâtonnement).

Merci d'avance!

Maudith
Avant l'apparition des chroniques, j'avais fait ce tableau: www.coeursbraves.online.fr, section membres.
Chaque membre de la guilde peut y modifier ses données en utilisant un mot de passe qu'il me donnait.
Les seules choses qu'il ne peut pas faire sont la modification de son rang de guilde et la modification de l'image (je dois le faire à la main).

Coté technique, les infos sont contenues dans un fichier xml qui se met à jour automatiquement si des infos sont changées. Les textes de bg sont des fichiers xt dans un répertoire à part.

Evidemment c bcp mieux avec une base de donnée mais je connaissais pas à l'époque.

A propos des chroniques, j'en ai fait avec une base de données contenant pls tables :
- une de tous les joueurs français
- une de toutes les guildes françaises
- une de tous les artisans français
- d'autres pour les stats
C vraiment trop bien le sql ^^ Qqs minutes pour la mise à jour, et un accés super rapide
Le site : daoc.aranwe.com
Changement d 'adresse ??
slt je voulai savoir si sa a change le xml car g une erreur sur mon site

Warning: fopen("http://www.camelot-europe.com/herald/servers/Ys/guilds/94.xml", "r") - Bad file number in /u/web/webpar/admin/modules/guilde.php on line 216

merci de votre aide
Unhappy
Help ça marche pas
Salut

Enfin j ai trouvé mon bonheur dans ton message et dans ton script.

Seulement j arrive pas a le faire marcher . Ou plutôt une erreur est décelée .

Vois plutôt :

http://www.chez.com/picnoir/daoc/doc6.php

Peux tu m aider , c est très important. Ma guilde est la 860 (Le cercle de Pandore) sur Broceliande

Ce qui est bizarre c est que ça marche sur mon serveur personnel ?? et pas chez l hébergeur.

Repond moi s'il te plaît !!!

@+

PicNoir
A quand un petit génie nous soir le code pour afficher sur une Page les différente guild de l'as avec RP et tout ?

<gros fainéant qui ne pige rien a l'xml>

Désoler :beurk:, j'aurais essayer au moins, merci en tout cas, pour les sources déjà donnés, c'est génial.
Oui mais non :P, ce que je voulais c'été un code [php] simple qui affiche l'alliance, comme pour afficher les artisans et les membres de guild
Comment intégrer les news de DAOC France dans un site web?
DAOC US a un fichier XML http://www.camelotherald.com/xml/news.rss de ce type.
Existe-t-il la même chose pour DAOC Europe?
Y'a-t il une autre solution?

Merci
Citation :
Provient du message de Glawk
Voila, moi j'ai sa :

pourtant cette adresse http://www.camelot-europe.com/herald...uilds/1400.xml est correte ..
verifie que ton serveur PHP accepte les appels distants pour la commande fopen()

genre pour tu teste tu fais un
Code PHP:

<? 
   $fp 
fopen('http://www.google.com''r'); 
?>
si il te retourne une erreur, y'a de fortes chances qut tu puisse pas acceder a des fichiers distants. donc faut te debrouiller pour telecharger le fichier XML vers ton site le plus frequement possible...
__________________
Glenfiddich Singlemalt
Purple Dragons :: Webmaster
http://www.purpledragons.net/xml/ * Scripts PHP pour traiter l'XML des Chroniques
Pour l'alliance je l'ai deja donné mais le revoici :

Code PHP:

<html>

<head>

<title>Alliance</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body bgcolor="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/border_background.jpg">


<p align="center"><br><br><font face="Arial" color="#ffffff"><BIG>L'Alliance :</BIG></font><br>

</p><center>
<table width="65%" border="1" bordercolor="#000000">

<tr> 

<td width="50%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#000000"><b>Noms de la Guilde</b></font></td>
<td width="50%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#0000000"><b>Nombres de points de royaume</b></font></td>

</tr>





<? 


if (isset($guilde) == 0



$guilde "317"





$xml_parseur xml_parser_create(); 

$k

function 
ouverture ($parser$name$attrs){ 

global 
$k
global 
$r
global 
$g;
global 
$guilde;

switch (
$name



case 
"ALNAME"

?><td background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/gen_background.jpg"><font face="Arial" color="#000000"><? 

$r 
1;
$k 1;

break; 

case 
"ALGUILDID":
$g 1;
$k 1;
break; 


case 
"ALTOTALRP"


$k 1

break; 










function 
fermeture ($parser$name){ 

global 
$k
global 
$r
global 
$g;
global 
$rpguild;
global 
$guildname;
global 
$id;

switch (
$name





case 
"ALNAME"
$k 0
$r 0;
default: 

return 
TRUE

break; 

case 
"ALGUILDID":
$g 0;
$k 0
default: 
return 
TRUE
break; 




case 
"ALTOTALRP"
?><a href="index.php?guilde=<? echo $id?>&ng=<? echo $guildname?>"><font face="Arial" color="#000000"><? echo $guildname?></font></a></td><td background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/gen_background.jpg"><CENTER><font face="Arial" color="#000000"><? echo $rpguild?></td></tr><?
$k 
0

default: 

return 
TRUE

break; 







function 
texte ($parser$data_text){ 

global 
$k
global 
$r
global 
$g;
global 
$id;
global 
$rpguild;
global 
$guildname;

if (
$r == 1)
{

if (
$k == 1


$guildname $data_text

return 
$data_text



if (
$g == 1)
{
$id $data_text;
return 
$data_text
}

else
{
if (
$k == 1

$rpguild $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($fp2048)){ 
xml_parse($xml_parseur$fdatafeof($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> 
<font face="Arial" color="#FFFFFF">@création </font><a href="mailto:apophyss@djeyl.net">Apophyss</a>
</center>
</body>
</html>
L'appel de la page par : page.php?guilde=317 (ou le numero de la guilde est celle ou l'alliance vous intérrésse

Temps que j'y suis celle du classement des guildes par royaumes :

Code PHP:

<html>
<?
if (!isset($realm)) 

$aff "Hibernia";
}
else
{



if (
$realm == "hib")
{
$top "d' ";
$aff "Hibernia";
}
if (
$realm == "alb")
{
$top "d' ";
$aff "Albion";
}
if (
$realm == "mid")
{
$top "de ";
$aff "Midgard";
}








$affre "$top$aff";
?>
<head>

<title>Classements des Guildes <? echo $affre?></title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

<body bgcolor="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/border_background.jpg">


<center>
<H1><font face="Arial" color="#FFFFFF">Classement des Guildes <? echo $affre?></H1>
<table width="50%" border="1" bordercolor="#000000"><tr>
<td width="33%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#000000"><center><b><a href="classe.php?realm=alb">Albion</a></b></font></td>
<td width="33%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#000000"><center><b><a href="classe.php?realm=hib">Hibernia</a></b></font></td>
<td width="33%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#0000000"><center><b><a href="classe.php?realm=mid">Midgard</a></b></font></td>

</tr>
</table>
<br><br>
<table width="65%" border="1" bordercolor="#000000">

<tr> 
<td width="6%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#000000"><b>Rang</b></font></td>
<td width="47%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#000000"><b>Noms de la Guilde</b></font></td>
<td width="47%" BGCOLOR="#000000" background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/cellpic1.gif"><font face="Arial" color="#0000000"><b>Nombres de points de royaume</b></font></td>

</tr>





<? 




$num 
0;




$xml_parseur xml_parser_create(); 

$k

function 
ouverture ($parser$name$attrs){ 

global 
$nom
global 
$rptotal;
global 
$id;

switch (
$name



case 
"GUILD"

?><td background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/gen_background.jpg"><font face="Arial" color="#000000"><CENTER><? 
$id 
$attrs["GUILD_ID"];
$nom $attrs["NAME"];
$rptotal $attrs["RP"];

break; 







function 
fermeture ($parser$name){ 

global 
$k
global 
$r
global 
$nom;
global 
$rptotal;
global 
$g;
global 
$rpguild;
global 
$guildname;
global 
$id;
global 
$num;

switch (
$name





case 
"GUILD"
$num $num+1;
?><? echo $num?></font></a></td><td background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/gen_background.jpg"><CENTER><font face="Arial" color="#000000"><a href="index.php?guilde=<? echo $id?>&ng=<? echo $nom?>"><font face="Arial" color="#000000"><? echo $nom?></font></a></td><td background="http://membres.lycos.fr/fred0511a/Nornes/phpBB/templates/Chronicles/images/gen_background.jpg"><CENTER><font face="Arial" color="#000000"><? echo $rptotal?></td></tr><?
$k 
0

default: 

return 
TRUE

break; 







function 
texte ($parser$data_text){ 

global 
$k
global 
$r
global 
$g;
global 
$id;
global 
$rptotal;
global 
$nom;

if (
$r == 1)
{

if (
$k == 1


$nom $data_text

return 
$data_text



if (
$g == 1)
{
$id $data_text;
return 
$data_text
}

else
{
if (
$k == 1

$rptotal $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://camelot-europe.goa.com/herald/servers/Broceliande/guild_list.php?realm=$realm""r") or die("Fichier introuvable. L'analyse a ete suspendue"); 



while (
$fdata fread($fp2048)){ 

xml_parse($xml_parseur$fdatafeof($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> 
<font face="Arial" color="#FFFFFF">@création </font><a href="mailto:apophyss@djeyl.net">Apophyss</a>
<font face="Arial" color="#FFFFFF"> , merci Beaucoup a Apophyss pour ce scripte !</font>
</center>

</body>

</html>
Citation :
Provient du message de galan
Comment intégrer les news de DAOC France dans un site web?
DAOC US a un fichier XML http://www.camelotherald.com/xml/news.rss de ce type.
Existe-t-il la même chose pour DAOC Europe?
Y'a-t il une autre solution?

Merci
Y a pas l equivalent. Perso, je le fait a la main a savoir recup le php complet sur GOA puis apres un peu comme un rss (enfin avant j'elague la page recup de GOA pour ne laisser que la partie concernant les news).

Mais bon je pense pas qu'il y est d autre moyen (ou alros la page news GOA bien planquee car jamais trouve).
Répondre

Connectés sur ce fil

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