IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM XML] Ecrire dans un fichier xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Points : 83
    Points
    83
    Par défaut [DOM XML] Ecrire dans un fichier xml
    Bonjour,

    j'utilise php4 et je souhaiterais ouvrir un document xml et écrire dedans à un emplacement bien précis, j'ai regardé la doc php et xml et je trouve rien de compréhensible. Pouvez vous m'aider?

    voici mon xml:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?xml version="1.0" standalone="yes" encoding="utf-8"?>
    <PageflipDataSet>
    	<Settings PageWidth="300" PageHeight="400"
    			  AutoSize="false"
    			  StartPage="1"
    			  Hardcover="true"
    			  LargeCover="true"
    			  HcoverAngle="-30" 
    			  ClickArea="64" AutoFlipArea="56"
    			  GotoPageSpeed="2" MousePursuitSpeed="5" OnReleaseSpeed="3"
    			  FlippingEnabled="true"
    			  TransparencyEnabled="true"
    			  TearDistance="80"
     
     
    			  PDFlink="test.pdf"
    			  BackgroundColour="0x000000"
     
     
    			  ZoomAreaWidth="760"
    			  ZoomAreaHeight="480"
    			  ZoomFollowSpeed="5"
     
    			  ThumbnailsEnabled="true"
    			  ThumbnailsOnEachSide="false"			
    			  ThumbnailsOnFacingPages="true"
    			  ThumbnailMargin="0"
    			  ThumbnailPadding="20"
    			  ThumbnailBorderWidth="0"
    			  ThumbnailBorderColor="0x000000"
    			  ThumbnailBorderHoverColor="0x000000"			  
     
    			  MouseHandler="true"
    			  FlipBeforeLoaded="false"
    			  MinPagesBeforeFlip="3">
     
    			  <Sounds Enabled="true"
    			  		  Start="pf1.mp3"
    					  End="pf2.mp3"
    					  TearOff="pf3.mp3" />
     
    	</Settings>
    	<PageOrder>
    		<PageData PageFile="demoPage_largecover1.swf" LargeFile="demoPage1_large.png" TearOff="true" />
    		<PageData PageFile="demoPage_largecover2.swf" LargeFile="demoPage2_large.png" TearOff="true" />
    		<PageData PageFile="demoPage3.png" LargeFile="demoPage3_large.png" TearOff="true" />
    		<PageData PageFile="demoPage4.png" LargeFile="demoPage4_large.png" TearOff="true" />
    		<PageData PageFile="demoPage5.png" LargeFile="demoPage5_large.png" TearOff="true" />
    		<PageData PageFile="demoPage6.png" LargeFile="demoPage6_large.png" TearOff="true" />
    		<PageData PageFile="demoPage_blank.png" TearOff="true" />
    		<PageData PageFile="demoPage_blank.png" TearOff="true" />
    		<PageData PageFile="demoPage_transparent1.png" TearOff="true" />
    		<PageData PageFile="demoPage_transparent2.png" TearOff="true" />
    		<PageData PageFile="demoPage_largecover3.swf" TearOff="true" />
    		<PageData PageFile="demoPage_largecover4.swf" TearOff="true" />
    	</PageOrder>
    </PageflipDataSet>

    je souhaiterais modifier la valeur des PageFile de l'attribut PageData du noeuf PageOrder.


    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Pour php4, c'est vers l'extension DOM XML qu'il faut se tourner. Que voulez-vous faire précisément ? Tous les modifier ? Uniquement certains ? Autres ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 194
    Points : 83
    Points
    83
    Par défaut
    Finalement j'ai opté pour PHP5, mais j'ai un nouveau problème: Je n'arrive pas à modifier la valeur d'un élément.

    Voici mon xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?xml version="1.0" encoding="ISO-8859-1"?>  
    <PageflipDataSet>
    	<Settings PageWidth="300" PageHeight="400"
    			  AutoSize="false"
    			  StartPage="1"
    			  Hardcover="true"
    			  LargeCover="true"
    			  HcoverAngle="-30" 
    			  ClickArea="64" AutoFlipArea="56"
    			  GotoPageSpeed="2" MousePursuitSpeed="5" OnReleaseSpeed="3"
    			  FlippingEnabled="true"
    			  TransparencyEnabled="true"
    			  TearDistance="80"
     
     
    			  PDFlink="test.pdf"
    			  BackgroundColour="0x000000"
     
     
    			  ZoomAreaWidth="760"
    			  ZoomAreaHeight="480"
    			  ZoomFollowSpeed="5"
     
    			  ThumbnailsEnabled="true"
    			  ThumbnailsOnEachSide="false"			
    			  ThumbnailsOnFacingPages="true"
    			  ThumbnailMargin="0"
    			  ThumbnailPadding="20"
    			  ThumbnailBorderWidth="0"
    			  ThumbnailBorderColor="0x000000"
    			  ThumbnailBorderHoverColor="0x000000"			  
     
    			  MouseHandler="true"
    			  FlipBeforeLoaded="false"
    			  MinPagesBeforeFlip="3">
     
    			  <Sounds Enabled="true"
    			  		  Start="pf1.mp3"
    					  End="pf2.mp3"
    					  TearOff="pf3.mp3" />
     
    	</Settings>
    	<PageOrder>
    		<PageData Identifiant="1" PageFile="demoPage_largecover1.swf" LargeFile="demoPage1_large.png" TearOff="true" />
    		<PageData Identifiant="2" PageFile="demoPage_largecover2.swf" LargeFile="demoPage2_large.png" TearOff="true" />
    		<PageData Identifiant="3" PageFile="demoPage3.png" LargeFile="demoPage3_large.png" TearOff="true" />
    		<PageData Identifiant="4" PageFile="demoPage4.png" LargeFile="demoPage4_large.png" TearOff="true" />
    		<PageData Identifiant="5" PageFile="demoPage5.png" LargeFile="demoPage5_large.png" TearOff="true" />
    		<PageData Identifiant="6" PageFile="demoPage6.png" LargeFile="demoPage6_large.png" TearOff="true" />
    		<PageData Identifiant="7" PageFile="demoPage_blank.png" TearOff="true" />
    		<PageData Identifiant="8" PageFile="demoPage_blank.png" TearOff="true" />
    		<PageData Identifiant="9" PageFile="demoPage_transparent1.png" TearOff="true" />
    		<PageData Identifiant="10" PageFile="demoPage_transparent2.png" TearOff="true" />
    		<PageData Identifiant="11" PageFile="demoPage_largecover3.swf" TearOff="true" />
    		<PageData Identifiant="12" PageFile="demoPage_largecover4.swf" TearOff="true" />
    	</PageOrder>
    </PageflipDataSet>
    et mon code php (je veux modifier a l'endroit ou je fais le setattribute):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
    $ordre=$_GET['ordre'];
     
    $dom = new DomDocument;
    $dom->load("pagedata332.xml");
     
    $liste_PageflipDataSet = $dom->getElementsByTagName('PageflipDataSet');
     
    foreach($liste_PageflipDataSet as $PageflipDataSet)
    {
     
    	$liste_PageOrder = $PageflipDataSet->getElementsByTagName('PageOrder');
     
    	//Pour chaque éléments du noeud PageOrder
    	foreach($liste_PageOrder as $PageOrder)
    	{
    		$liste_PageData = $PageOrder->getElementsByTagName('PageData');
    		$cpt=1;
     
    		$i=0;
    		//Mise en mémoire de l'ordre actuel
    		foreach($liste_PageData as $PageData3)
    		{
    			$TableauPageDatas[$i]=$PageData3->getAttribute("PageFile");
    			$PageData3 ->setAttribute("Identifiant",$nombre[$cpt]);
    			$i++;
    		}
     
    		//Pour chaque éléments du noeud PageData
    		foreach($liste_PageData as $PageData)
    		{			
    			$nombre = explode(",", $ordre);	
    			//Si l'identifiant de l'élément n'est pas le même que celui à la même place de l'ordre passé en paramètre
    			if ($nombre[$cpt]!=$PageData->getAttribute("Identifiant"))
    			{
    				$i=0;
    				//Re-parcours de tous les PageData
    				foreach($liste_PageData as $PageData2)
    				{
    					//Si on a trouvé le PageData qui a remplacé celui qui a été déplacé
    					if ($PageData2->getAttribute("Identifiant")==$nombre[$cpt])
    					{
     
    					}
    					$i++;
    				}
     
    			}
    			$cpt++;
     
    		}
     
    	}
    }
    $dom->saveXML();
    ?>

Discussions similaires

  1. [DOM XML] Ecrire dans un fichier XML comme dans un TXT
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 23/09/2007, 22h55
  2. Réponses: 1
    Dernier message: 20/02/2007, 13h43
  3. [FLASH 8] Ecrire dans un fichier xml
    Par dom_dev dans le forum Flash
    Réponses: 9
    Dernier message: 26/09/2006, 10h10
  4. Lire/Ecrire dans un fichier .xml depuis Java
    Par SkyBioSS dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 16/05/2006, 17h38
  5. <xml><asp.net> Ecrire dans un fichier xml
    Par kenkine dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/03/2006, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo