2010-11-26 5 views
0

j'ai enregistré une chaîne dans la base de données
puis j'ai récupéré ces données au format xml dans un fichier php et appelez les données XML d'un autre fichier php . il fonctionne très bien pour l'enregistrement simple texte stocké dans la base de données, mais lorsque j'enregistre une chaîne comme celui-ci i remplacer < à & lt et> & gt puis enregistrez la base de donnéescomment puis-je résoudre cette erreur XML

 if x&lty and y>z

et récupérer dans le fichier php il eteint est un structure xml par exemple

&ltquestions>&ltquestion>&ltquestion_id>2</question_id>
&ltquestion>what is matrix</question>&ltweight>6</weight>
&ltsubject_code>4</subject_code></question>

&ltquestion>&ltquestion_id>3</question_id>&ltquestion>squareroot 3 is</question>&ltweight>3</weight>&ltsubject_code>4</subject_code></question>

&ltquestion>&ltquestion_id>15</question_id>&ltquestion>what is a set</question>&ltweight>4</weight>&ltsubject_code>4</subject_code></question>&ltquestion>&ltquestion_id>16</question_id>

&ltquestion>If x < y, y < z then</question>&ltweight>4</weight>&ltsubject_code>4</subject_code></question></questions>

il me montrer & lt au lieu de '<' dans la dernière question (si x et y & lty & LTZ)
mais quand je l'appelle depuis un autre fichier php il donne l'erreur

Warning: simplexml_load_string(): Entity: line 1: parser error : EntityRef: expecting ';' in /var/www/test/view/addTestQuestion.php
on line 54 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string()
/var/www/test/view/addTestQuestion.php:54 Warning: simplexml_load_string(): ubject_code>16If x /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string()
/var/www/test/view/addTestQuestion.php:54 Warning: simplexml_load_string():^
in /var/www/test/view/addTestQuestion.php on line 54 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string() /var/www/test/view/addTestQuestion.php:54 Warning: simplexml_load_string(): Entity: line 1: parser error : EntityRef: expecting ';' in
/var/www/test/view/addTestQuestion.php on line 54 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string() /var/www/test/view/addTestQuestion.php:54 Warning: simplexml_load_string(): de>16If x line 54 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string() /var/www/test/view/addTestQuestion.php:54 Warning: simplexml_load_string():^in
/var/www/test/view/addTestQuestion.php on line 54 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0 0.0222 333892 2. simplexml_load_string()
/var/www/test/view/addTestQuestion.php:54 Notice: Trying to get property of non-object in /var/www/test/view/addTestQuestion.php on line 56 Call Stack: 0.0007 332148 1. {main}
() /var/www/test/view/addTestQuestion.php:0 Warning: Invalid argument supplied for
foreach() in /var/www/test/view/addTestQuestion.php on line 56 Call Stack: 0.0007 332148 1. {main}() /var/www/test/view/addTestQuestion.php:0

toute aide serait grandement appréciée

Répondre

3

Références Commençons par & et se terminent par ;. Vous n'avez aucun ; n'importe où.

+0

Merci, ça marche maintenant – hunter

2

Vous ne pouvez pas utiliser les < ou > caractères comme des caractères dans XML, les entités d'utilisation:

<question>If &lt; y, y &gt; z</question> 

Une fois que vous récupérez cette chaîne de texte, vous pouvez utiliser la fonction html_entity_decode pour le décoder en une véritable chaîne XML .

Questions connexes