[PHP] + XMLDOM besoin d'aide !!

+ XMLDOM besoin d'aide !! [PHP] - PHP - Programmation

Marsh Posté le 07-10-2002 à 12:15:17    

salut,
je dois créer des documents xml from scratch :sol: à partir d'une petite base mysql,
ces documents xml illustrent un plan de navigation d'un site,
je pensais donc me servir du domxml en créant des childs et tout le bazar, mais j'ai bcp de mal à démarrer, j'ai fait un ptit script qui marche pas du tout je ne vois que du transitional html pas cool :(
 
j'utilsie dans mon serveur:
 
DOM/XML  enabled
libxml Version  2.4.20
HTML support  enabled
XPath support  enabled
XPointer Support  enabled
 
 
le tout sur un PHP4.2.3
 
 
eske kelkun pourrait me dire comment créer un ptit domxml comment y rajouter un child avec eventuellement quelques ptit parametres et comment le renvoyer au navigateur ??? franchement j'y arrive pas :( en plus les noms des fonctions changent tous les jours !!! pitié de moi, oh, forumeurs ....


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 07-10-2002 à 12:15:17   

Reply

Marsh Posté le 07-10-2002 à 15:21:18    

hum :( pas bcp d'enthousiasme :( personne n'a jamais créé des documents xml via domxml en php ????
 
up !! témoignages siouplé!!!


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 07-10-2002 à 15:38:20    

bon bin j'ai d'autres questions :)
 
quelle est la différence entre rajouter un attribut et rajouter un child ?
par exmple si j'ai ça:
 
<MONTRUC param1="valeur 1">
</MONTRUC>
 
 
en quoi ça peut être différent que d'avoir
 
<MONTRUC>
  <param1>valeur 1</param1>
</MONTRUC>
 
je ne vois pas trop la grosse différence, j'ai un peu de mal à comprendre dans quel cas utiliser l'un ou l'autre ???
 
 
 
sinon, autre problème: mon IE n'interprète pas correctement le xml que je lui fournis via php, vu que l'extension du fichier crachatif est .php et non pas .xml ... comment faire pour que IE me montre quand même l'arbre xml généré ?  
 
 
voilà,
sinon pour ce qui est de la création du dom, j'ai réussi avec ce code par exemple
 


 
 
<?php
$doc = domxml_new_doc("1.0" );
$root = $doc->add_root("ROOTCURSUS" );
$head = $root->new_child("HEAD", "" );
$head->set_attribute("align", "left" );
$head->new_child("TITLE", "test xml" );
echo $doc->dump_mem();
?>
 


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 07-10-2002 à 17:12:04    

[:zebra33]

Reply

Marsh Posté le 07-10-2002 à 17:14:47    

Aucun succès avec ces laitages :na:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 08-10-2002 à 17:01:48    

k666 a écrit a écrit :

bon bin j'ai d'autres questions :)
 
quelle est la différence entre rajouter un attribut et rajouter un child ?
par exmple si j'ai ça:
 
<MONTRUC param1="valeur 1">
</MONTRUC>
 
 
en quoi ça peut être différent que d'avoir
 
<MONTRUC>
  <param1>valeur 1</param1>
</MONTRUC>
 
je ne vois pas trop la grosse différence, j'ai un peu de mal à comprendre dans quel cas utiliser l'un ou l'autre ???
 
 
 
sinon, autre problème: mon IE n'interprète pas correctement le xml que je lui fournis via php, vu que l'extension du fichier crachatif est .php et non pas .xml ... comment faire pour que IE me montre quand même l'arbre xml généré ?  
 
 
voilà,
sinon pour ce qui est de la création du dom, j'ai réussi avec ce code par exemple
 


 
 
<?php
$doc = domxml_new_doc("1.0" );
$root = $doc->add_root("ROOTCURSUS" );
$head = $root->new_child("HEAD", "" );
$head->set_attribute("align", "left" );
$head->new_child("TITLE", "test xml" );
echo $doc->dump_mem();
?>
 





Pour la question de la diférence, dansle cas présent aucune.
mais avec le cas 1, essayes donc de créer un fils à ton filston. Avec le cas 2, c'est faisable.

Reply

Marsh Posté le 08-10-2002 à 18:48:01    

eskil ya une analogie à faire avec une base de donnée ? eske un attribut peut être considéré comme la clé primaire d'une structure ou etc. .. ?
histoire de pas devoir à chaque fois réfléchir, je veux faire des automatismes koaaaaaaaaa :p pour passer de la bdd au xml sans soucis !

Reply

Marsh Posté le 08-10-2002 à 19:03:29    

k666 a écrit a écrit :

eskil ya une analogie à faire avec une base de donnée ? eske un attribut peut être considéré comme la clé primaire d'une structure ou etc. .. ?
histoire de pas devoir à chaque fois réfléchir, je veux faire des automatismes koaaaaaaaaa :p pour passer de la bdd au xml sans soucis !



D'une certaine manière oui, mais une base de donnée dont chaque table peut contenir des données et/ou des liens vers les autres tables.
On peut alors le comparer à une base de donnée.
 
moi, je le vérait plustôt comme un arbre. A chaque embranchement tu peux regarder les motifs à la surface de l'arbre ou continuer à parcourir une des braches (ou faire les deux).

Reply

Marsh Posté le 09-10-2002 à 12:32:30    

okidoki :) mais en tout cas c'est pas évident à chaque fois de projeter un schéma de table dans un schéma xml, ya pas une xsl qui fasse ça :D
 
 
 
sinon ... j'ai un petit probléme tout con : en fait je suis entraind e générer du html pour m'en servir avec des css et du javascript, je voudrais générer des trucs du style:
 


<div id="123">
  <div id="456">pouet</div>
</div>


 
et pour celà j'ai fait ce code qui marche pas:


<xsl:template match="OFFER">
 <div id="<xsl:value-of select="./@id"/>">
  <xsl:apply-templates/>
 </div>
</xsl:template>


 
mais ça chie paske du coup c pas valide vu que j'ouvre mon <div et que je fous une balise dans une balise ... eske vous savez comment on peut faire pour que la balise <div ne pose pas de probleme ?????
 
 
merci :)

Reply

Marsh Posté le 09-10-2002 à 13:02:43    

Une autre diffrence entre attribut et child est que tu peux avoir plusieurs valeurs pour un même child (sauf si limité par DTD) alors que l'attribut, à ma connaissance, n'a qu'une valeur.
 


 
<RACINE>
  <ELT child="valeur1"></ELT>
</RACINE>
 
--------
 
<RACINE>
 <ELT>
  <CHILD>valeur1</CHILD>
  <CHILD>valeur2</CHILD>
 </ELT>
</RACINE>


Message édité par tegu le 09-10-2002 à 13:04:26
Reply

Marsh Posté le 09-10-2002 à 13:02:43   

Reply

Marsh Posté le 09-10-2002 à 14:08:29    

en effet :)
donc en gros quand on est sûr qu'on aura un identifiant simple et unique on peut le mettre en attribut, si on pense que c amène à évoluer on le met plutot en noeud enfant ! je pense qu'avec l'expérience le choix va être plus rapide à faire, et qu'il ya une question de style aussi :pt1cable:  
 
 
 
 
sinon pour le petit souci technqiue que je rencontre, un ptit up!
 
le souci étant : pas de possibilité de mettre un xsl dans n tag html :( à l'aide!!!!!

Reply

Marsh Posté le 09-10-2002 à 14:56:24    

Je suis pas un spécialiste du xsl donc je peux me tromper, mais en utilisant <xsl:text> tu ne peux pas fabriquer ta balise <DIV incomplète ?

Reply

Marsh Posté le 09-10-2002 à 15:31:19    

bin ouais j'ai fait un truc de ce style:
 


 
 <xsl:template match="OFFER">
  <div>
   <xsl:attribute name="style">color:blue;</xsl:attribute>
   <xsl:attribute name="id">
    <xsl:value-of select="./@id"/>
   </xsl:attribute>
   <xsl:apply-templates/>
  </div>
 </xsl:template>


qui me sort un code sympa et qui marche mais bon j'aurai bien aimé savoir comment escaper des characteres de merde

Reply

Marsh Posté le 11-10-2002 à 10:30:58    

Re!
donc suite à mes avancements, je retrouve ce problème, tout à fait amusant :fou: à savoir ce truc il me vire tout ce qui vient après un signe '&' et je comprends pas pourquoi :(::(:(:(:(
si quelqu'un pouvait m'aider ou me rassurer ? en fait vvoila je genère des URL et donc à chaque fois que ces url ont un & dedans ca coupe toute la string :( je pourrais url encoder mais ca ne resoudrait pas du tout mon probleme ca me le compliquerait bcp :(
pitié, aidez moi :)

Reply

Marsh Posté le 11-10-2002 à 10:34:43    

oups désolé quand je dis "ce truc" je veux dire par exemple ça:
 


$temp = domxml_new_doc("1.0" );
$xml_treeroot = $temp->add_root("ROOTCURSUS" );
$xml_treeroot->new_child("URL",$tmpActivity->url."&killer666" );


 
edit:
et bien la, il me jerte le
&killer666
 
 
 
et je pige pas pourquoi :'(


Message édité par k666 le 11-10-2002 à 10:35:10
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed