Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOMXML
DOMXML Forum d'entraide pour l'extension DOMXML permettant de manipuler des documents XML en PHP 4 (approche DOM). Avant de poster -> tutoriels DOMXML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/07/2007, 14h40   #1
Membre du Club
 
Inscription : novembre 2004
Messages : 194
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 194
Points : 48
Points : 48
Par défaut [DOMXML] 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 :
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
GTJuanpablo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 16h27   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 15h26   #3
Membre du Club
 
Inscription : novembre 2004
Messages : 194
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 194
Points : 48
Points : 48
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 :
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 :
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();
?>
GTJuanpablo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h29.


 
 
 
 
Partenaires

Hébergement Web