Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Использование функции asXML() (https://javascript.ru/forum/server/34435-ispolzovanie-funkcii-asxml.html)

bartonom 04.01.2013 21:29

Использование функции 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>

В действительности также получаю:
Код:

текст штучка код

devote 04.01.2013 21:43

а вы исходный код страницы в браузере смотрели?

bartonom 04.01.2013 21:48

Цитата:

Сообщение от devote (Сообщение 225229)
а вы исходный код страницы в браузере смотрели?

Не понял о чем Вы? Код запускал на локальном сервере?

bartonom 04.01.2013 21:54

Кажется дошло, Вы хотите сказать, что это изначально не получился XML-документ?

devote 04.01.2013 21:57

Цитата:

Сообщение от bartonom
Кажется дошло

ничего до вас не дошло.. Браузеры не отображают XML теги или вообще что-то похожее на теги. Но если посмотреть исходный код страницы отображаемой в браузере, то вы увидите ваши теги.

bartonom 04.01.2013 22:05

Цитата:

Сообщение от devote (Сообщение 225233)
ничего до вас не дошло.. Браузеры не отображают XML теги или вообще что-то похожее на теги. Но если посмотреть исходный код страницы отображаемой в браузере, то вы увидите ваши теги.

Да именно, так как вы говорите, все теги видны. Не так понял ваш намек.
Но если так значит в действительности работу функции надо воспринимать как описано в ее определении и примерах, то есть она возвращает строку с XML-документом, как он в ней (строке) представлен?
Спасибо.

devote 04.01.2013 22:13

Цитата:

Сообщение от bartonom
то есть она возвращает строку с XML-документом, как он в ней (строке) представлен?

да


Часовой пояс GMT +3, время: 04:57.