Intereting Posts
Получение 301 с cURL, несмотря на FOLLOWLOCATION Используя GD в PHP, как я могу сделать прозрачный водяной знак PNG в PNG и GIF-файлах? (Файлы JPG работают нормально) Laravel 4 – устранение неполадок метода сохранения модели PHP слияния массивов по значению для 2 разных значений массива Добавление значения переменной в имя переменной? как я могу изменить весь шаблон страницы в соответствии с модулем в drupal6 Данные кэша в PHP SESSION или запрос из db каждый раз? jquery заполняет ввод текста из таблицы на основе значения select preg_match unicode parsing Есть ли способ распаковать файлы .Z с помощью php? Как установить права на чтение и запись в Apache на компьютере под управлением Windows PHP: Может включать файл, который file_exists () говорит, не существует Получить первое значение строки, разделенной запятыми Можно ли передать параметр маршрута в конструктор контроллера в Laravel? Есть ли способ узнать переменные POST, не зная их имен?

Как создать пустой / пустой SimpleXMLElement в PHP?

Я пытаюсь использовать PHP-документ для создания XML-документа (для AJAX) с использованием встроенного класса SimpleXMLElement PHP 5. Я хочу начать с чистого листа и создать элемент XML по элементу, но я не нашел способа построить SimpleXMLElement не начиная с какой-либо существующей части XML-кода. Я не смог успешно передать пустую строку ("") в конструктор SimpleXMLElement , поэтому в настоящее время я SimpleXMLElement XML для самого внешнего тега, а затем SimpleXMLElement оттуда. Вот мой код:

 // Start with a "blank" XML document. $xml = new SimpleXMLElement("<feature></feature>"); // Add various children and attributes to the main tag. $xml->addAttribute("id", $id); $xml->addChild("title", $feature['title']); $xml->addChild("summary", $feature['summary']); // ... // After the document has been constructed, echo out the XML. echo $xml->asXML(); 

Есть ли более чистый способ сделать это?

Как сказал салате:

Ключ в имени класса, вы создаете элементы SimpleXML.

Теперь для меня имеет смысл, что SimpleXMLElement не может быть «пустым». Он должен быть допустимым элементом XML, который подразумевает наличие имени тега и открывающих и закрывающих тегов (например, <feature></feature> или <body></body> ).

Это, по-видимому, означает, что SimpleXMLElement был создан для синтаксического анализа, а не для создания XML-документов. При этом мне было очень легко создать документ с нуля. Класс делает много приятных вещей автоматически, включая сохранение всего компактного и вывод номера версии XML вверху ( <?xml version="1.0"?> ).

Я бы рекомендовал этот подход всем, кто должен использовать PHP для создания небольших XML-документов. Это бьет, повторяя теги в виде строк в любой день.

Спасибо, всем, за ваши комментарии!