rss
FichierPlus
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Construction fichier xml via dom et php

husobom, le vendredi 18 avril 2008 à 21:10:49
Bonjour,
J'ai un petit soucis concernant la création d'un fichier, en fait mon programme consiste à analyser un fichier texte et à chaque fois qu'il y a un saut de ligne je veux récupérer le texte dans une balise que j'ai nommé contenu, le problème c'est que cela récupère bien le contenu mais on dirait que ca écrase celui qu'il y avait avant à chaque fois, voici mon code :
<?php
$fileName = "plagiat.txt";
$file = fopen($nomFichier,"r+");
$tab = file($fileName);
$lignes=sizeof($tab);
$docXML = new DOMDocument();
$plagiat=$docXML->createElement("plagiat");
$docXML->appendChild($plagiat);
$contenu = $docXML->createElement("contenu");
$plagiat->appendChild($contenu);

$j=1;
for ($i=0;$i<$lignes;$i++)
{
$cool = ord($tab[$i]); //on récupère la valeur ASCII d'une ligne
if ($cool==13) // Comparaison avec la valeur ASCII correspondant au retour à la ligne
echo "Ici il y avait une ligne vide"."<br>";
else
{
echo $tab[$i]."<br>";
$texte[$i]=$docXML->createTextNode($tab[$i]);
$contenu->setAttribute('id',$j);
$contenu->appendChild($texte[$i]);
$j++;
}
}
$docXML->save('plagiat.xml');

et le fichier XML me donne ca :
<plagiat>
−<contenu id="3">
Le bonheur n'est pas le fruit de la paix, le bonheur, c'est la paix mꭥ.
Plus belle la vie.
</contenu>
</plagiat>

Bon déjà il semble y avoir d'autres problèmes vu qu'on devrait avoir "la paix même" et ici il récupère "la paix m?" si quelqu'un a aussi une explication pour ca je suis preneur :)
Bref moi me je voudrais plutot quelque chose du genre.
<plagiat>
−<contenu id="1">
Le bonheur n'est pas le fruit de la paix, le bonheur, c'est la paix mꭥ.
Plus belle la vie.
</contenu>
−<contenu id="2">
Plus belle la vie.
</contenu>
</plagiat>


Voila, j'espère que vous avez compris mon problème et que vous pourrez m'aider, je vous remercie d'avance.
Configuration: Windows Vista
Firefox 2.0.0.14
Répondre à husobom  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le samedi 19 avril 2008 à 00:37:41
salut,

pour le fait qu'il n'y ai qu'un élément je pense que c'est parce que ta boucle est mal construite mais je n'ai pas testé.
pour le problème d'accent c'est qu'il faut encoder le texte en UTF-8.
<?php
	$fileName = 'plagiat.txt';
	$file = fopen( $nomFichier , 'r+' );
	$tab = file( $fileName );
	$lignes = sizeof( $tab );
	$docXML = new DOMDocument( '1.0' , 'ISO-8859-1' );
	$plagiat=$docXML->createElement( 'plagiat' );
	$docXML->appendChild( $plagiat );
	
	$j = 1;
	for ( $i = 0 ; $i < $lignes ; $i++ )
	{
		$cool = ord( $tab[$i] );
		if( $cool == 13 )
		{
			echo 'Ici il y avait une ligne vide<br />';
		}
		else
		{
			echo $tab[$i] , '<br />';
			$contenu = $docXML->createElement( 'contenu' );
			$contenu->setAttribute( 'id' , $j );
			$text = utf8_encode( $tab[$i] );
			$child = $docXML->createTextNode( $text );
			$contenu->appendChild( $child );
			$plagiat->appendChild( $contenu );
			$j++;
		}
	}
	$docXML->save( 'plagiat.xml' );
?>
[ Mathieu ]
Il y a surement des pandas pour ne dépendre de rien
Répondre à Dalida

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 husobom, le samedi 19 avril 2008 à 09:35:08
J'ai fait comme tu as dit et ça marche exactement comme je veux, merci beaucoup beaucoup :)
Répondre à husobom
Logiciels pertinents trouvés dans les téléchargements
Télécharger DriveImage XML 2.01DriveImage XML - DriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger PSPad 4.5.2PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,...Catégorie: Développement
Licence: Freeware/gratuit
Télécharger Word Viewer 2003Word Viewer - La visionneuse Word Viewer vous permet d'ouvrir des documents Word 2003 et des documents créés avec toutes les versions...Catégorie: Traitement de texte
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Construction fichier xml via dom et php »