2011-09-24 11 views

Respuesta

13

DOM lo hará automáticamente para usted

$dom = new DOMDocument; 
$dom->appendChild($dom->createElement('foo')); 
echo $dom->saveXml(); 

dará por defecto

<?xml version="1.0"?> 
<foo/> 

a menos que hagas

$dom = new DOMDocument; 
$dom->appendChild($dom->createElement('foo')); 
echo $dom->saveXml($dom, LIBXML_NOEMPTYTAG); 

que luego dará

<?xml version="1.0" encoding="UTF-8"?> 
<foo></foo> 
0

sólo tiene que pasar un parámetro node a DOMDocument::saveXML con el fin de salida sólo un nodo específico, sin ninguna declaración XML:

$doc = new \DOMDocument('1.0', 'UTF-8'); 
$doc->preserveWhiteSpace = false; 
$doc->formatOutput = false; 
$node = $doc->createElement('foo'); 

// Trimming the default carriage return char from output 
echo trim($doc->saveXML($node)); 

dará

<foo/> 

no que contiene cualquier Char nueva línea/retorno de carro fin.

Cuestiones relacionadas