Для тестирования результата работы с функцией 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> |
В действительности также получаю: