2010-11-26 6 views
0

Я сохранил строку в базе данных
, после чего я получил эти данные в формате xml в php-файле и вызвал эти XML-данные из другого файла php . она отлично работает для простого текста записи, хранящейся в базе данных, но когда я сохранить строку как этот я заменить < на & ЛТ и> & GT затем сохранить в базе данныхКак я могу исправить эту ошибку XML

 if x&lty and y>z

и получить в PHP файл его положить является структура XML например

&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>

он показал мне & ЛТ вместо '<' в последнем вопросе (если х & LTY и у & LTZ)
но когда я называю это из другого файла PHP это дает ошибку

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

любой помощь будет высоко оценена

ответ

3

литературы начинается с & и заканчивается ;. У вас нет ; в любом месте.

+0

Спасибо, что работает сейчас – hunter 2010-11-26 07:56:47

2

Вы не можете использовать < или > символов в качестве буквенных символов в XML, использование сущности:

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

После извлечения этой строки текста, вы можете использовать функцию html_entity_decode декодировать его в реальную строку XML ,

Смежные вопросы