Показать сообщение отдельно
  #1 (permalink)  
Старый 04.01.2013, 21:29
Аспирант
Отправить личное сообщение для bartonom Посмотреть профиль Найти все сообщения от bartonom
 
Регистрация: 05.05.2011
Сообщений: 48

Использование функции asXML()
Для тестирования результата работы с функцией asXML() использовал следующий код:
$data='<data>
   <seg>1</seg>
   <seg>2</seg>
   <seg>3</seg>
 </data>';
 $doc=new SimpleXMLElement($data);

 echo $doc->asXml();
?>
В примере утверждалось, что ожидаемый вывод будет таковым:
/*outputs: 
  * <?xml version="1.0"?>
  * <data><seg>1</seg><seg>2</seg><seg>3</seg></data>
 */

На самом деле выводится
/*outputs: 
1 2 3
*/


Означает ли это, что функция asXML() действительно возвращает не XML-документ (в смысле документ, отображающий элементы (т.е. начальный тег, конечный тег и все что между ними), а только содержимое тегов?

Потому как из определения функции и примера ниже можно понять цитата: "Возвращает сформированный XML документ...", то есть что в строке возвращаться XML-документ, отображающий все элементы

Определение функции asXML() и пример ее использования взяты

здесь


Определение "SimpleXMLElement::asXML — Возвращает сформированный XML документ в виде строки используя SimpleXML элемент"


Пример #1 Получение XML
$string = <<<XML
<a>
<b>
<c>текст</c>
<c>штучка</c>
</b>
<d>
<c>код</c>
</d>
</a>
XML;

$xml = new SimpleXMLElement($string);
echo $xml->asXML();


Утверждается, что результат выполнения данного примера:
Код:
<?xml version="1.0"?>
<a>
 <b>
  <c>текст</c>
  <c>штучка</c>
 </b>
 <d>
  <c>код</c>
 </d>
</a>
В действительности также получаю:
Код:
текст штучка код
Ответить с цитированием