выводить xml-фрагмент без заголовков - PullRequest
1 голос
/ 30 июля 2009

У меня такое ощущение, что я толстая, но вот моя проблема:

Я создаю динамические деревья XML с использованием PHP. Эти деревья описывают иерархии сотрудников, каталоги файлов и т. Д. Они содержат небольшие разделы контента на веб-странице. Остальная часть веб-страницы склеена из различных других источников, которые могут быть основаны на SQL, или статического текста или некоторого специального класса представления. Когда я иду выводить свои деревья, я преобразовываю XML во вложенный <ul>. Я хотел бы вывести это <ul> без какой-либо информации о типе / заголовке. Классы PHP DomDocument и SimpleXML не позволяют этого. Является ли единственный способ удалить информацию обидчика после сохранения <ul> в строке?

Ответы [ 2 ]

2 голосов
/ 30 июля 2009

Оказывается, если я поставлю <xsl:output method="html" />, я больше не выводю автоматический DOCTYPE Проблема решена.

0 голосов
/ 30 июня 2012

В конце этой страницы есть комментарий об этом: http://www.php.net/manual/en/libxml.constants.php

SimpleXML автоматически добавляет заголовок. Существует возможность отключить его при создании объекта Simple XML - это LIBXML_NOXMLDECL, но он не работает - все еще есть открытая ошибка - см. Ссылку внизу страницы выше.

Вот что я сделал в итоге:

$doc = new DOMDocument('1.0');
$root = $doc->createElement('items');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode($item->title);
$text = $title->appendChild($text);
$items[] =  $doc->saveXML($root);

Конечно, это не дает мне объект SimpleXml, но, по крайней мере, его xml и не имеет заголовка.

...