SimpleXMLElement не позволяет вам по умолчанию для создания и добавления обработки команд (PI) к узлу. Однако сестра библиотеки DOMDocument позволяет это. Вы можете жениться на два, простирающейся от SimpleXMLElement и создать функцию, чтобы обеспечить эту функцию:
class MySimpleXMLElement extends SimpleXMLElement
{
public function addProcessingInstruction($target, $data = NULL) {
$node = dom_import_simplexml($this);
$pi = $node->ownerDocument->createProcessingInstruction($target, $data);
$result = $node->appendChild($pi);
return $this;
}
}
Это то проста в использовании:
$output = '<hotel/>';
$hotel = simplexml_load_string($output, 'MySimpleXMLElement');
$hotel->addProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="style.xsl"');
$hotel->asXML('php://output');
Образцовый выход (Приукрашена):
<?xml version="1.0"?>
<hotel>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
</hotel>
Другим способом является вставка элемента XML в элемент simplexml: "PHP SimpleXML: insert node at certain position" или "Insert XML into a SimpleXMLElement".
Что такое '' '? Это работает так же, как '' '? ... И ваша ошибка? – brbcoding
Извините, теперь я редактировал: Выполняя это, когда вижу XML в браузере, я получаю файл без таблицы стилей. Где моя ошибка? –
Это то, что я говорю ... Какая попытка заменить эти '' '' '' ' – brbcoding