<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_XMLReader_e_XMLWriter</id>
	<title>Curso POO PHP XMLReader e XMLWriter - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_XMLReader_e_XMLWriter"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_XMLReader_e_XMLWriter&amp;action=history"/>
	<updated>2026-10-23T11:16:15Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_XMLReader_e_XMLWriter&amp;diff=36672&amp;oldid=prev</id>
		<title>Vlourido: /* XMLWriter */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_XMLReader_e_XMLWriter&amp;diff=36672&amp;oldid=prev"/>
		<updated>2013-07-25T22:58:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;XMLWriter&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== XMLReader e XMLWriter ==&lt;br /&gt;
&lt;br /&gt;
As extensións &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/book.xmlreader.php XMLReader]&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/book.xmlwriter.php XMLWriter]&amp;#039;&amp;#039;&amp;#039; veñen habilitadas por defecto dende a versión 5.1.2 de PHP. Permiten traballar con documentos XML empregando fluxos do mesmo xeito que se fai cos ficheiros.&lt;br /&gt;
&lt;br /&gt;
=== XMLReader ===&lt;br /&gt;
&lt;br /&gt;
Empregando XMLReader podemos validar un documento a medida que se vai procesando, e detener as tarefas de procesamento en calquera momento.&lt;br /&gt;
&lt;br /&gt;
Para &amp;#039;&amp;#039;&amp;#039;abrir un documento XML&amp;#039;&amp;#039;&amp;#039;, primeiro debemos crear unha instancia da &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/class.xmlreader.php clase XMLReader]&amp;#039;&amp;#039;&amp;#039;, e empregar un dos seguintes métodos:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.open.php open]&amp;#039;&amp;#039;&amp;#039;. Abre un documento a partir dun URI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLReader();&lt;br /&gt;
$xml-&amp;gt;open(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.xml.php XML]&amp;#039;&amp;#039;&amp;#039;. Abre un documento XML almacenado nunha cadea de texto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLReader();&lt;br /&gt;
$xml-&amp;gt;XML($texto);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O seguinte paso é, cando sexa preciso, utilizar o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.setparserproperty.php setParserProperty]&amp;#039;&amp;#039;&amp;#039; para &amp;#039;&amp;#039;&amp;#039;establecer as [http://docs.php.net/manual/es/class.xmlreader.php#xmlreader.constants.options opcións do procesador]&amp;#039;&amp;#039;&amp;#039;. Unha das máis empregadas é &amp;#039;&amp;#039;&amp;#039;XMLReader::VALIDATE&amp;#039;&amp;#039;&amp;#039;, que habilita a validación mediante DTD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;setParserProperty(XMLReader::VALIDATE, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A continuación o procedemento habitual &amp;#039;&amp;#039;&amp;#039;crear un bucle&amp;#039;&amp;#039;&amp;#039; que vaia chamando ao método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.read.php read]&amp;#039;&amp;#039;&amp;#039; para avanzar ao seguinte nodo, comprobando os tipos dos nodos coa propiedade &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/class.xmlreader.php#xmlreader.props.nodetype nodeType]&amp;#039;&amp;#039;&amp;#039; ou os seus contidos con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/class.xmlreader.php#xmlreader.props.value value]&amp;#039;&amp;#039;&amp;#039;. Cando se chega ao final do documento o método &amp;#039;&amp;#039;read&amp;#039;&amp;#039; devolve &amp;#039;&amp;#039;false&amp;#039;&amp;#039;. O método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.close.php close]&amp;#039;&amp;#039;&amp;#039; pecha o documento XML orixe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
while ($xml-&amp;gt;read()) {&lt;br /&gt;
   if ($reader-&amp;gt;nodeType == XMLREADER::ELEMENT) print $reader-&amp;gt;localName . &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Algunhas das [http://docs.php.net/manual/es/class.xmlreader.php#xmlreader.constants constantes que se definen na clase XMLReader] para os tipos de nodos son:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;XMLReader::ELEMENT&amp;#039;&amp;#039;. Comenzo dun elemento.&lt;br /&gt;
* &amp;#039;&amp;#039;XMLReader::END_ELEMENT&amp;#039;&amp;#039;. Final dun elemento.&lt;br /&gt;
* &amp;#039;&amp;#039;XMLReader::TEXT&amp;#039;&amp;#039;. Texto.&lt;br /&gt;
* &amp;#039;&amp;#039;XMLReader::PI&amp;#039;&amp;#039;. Instrucción de procesamento.&lt;br /&gt;
* &amp;#039;&amp;#039;XMLReader::COMMENT&amp;#039;&amp;#039;. Comentario.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, para obter a mesma táboa HTML da película que obtivemos con XMLParse, a partires da que figura no documento de exemplo, pódese facer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLReader();&lt;br /&gt;
$xml-&amp;gt;open(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
while ($xml-&amp;gt;read()) {&lt;br /&gt;
	switch($xml-&amp;gt;nodeType) {&lt;br /&gt;
		case XMLREADER::ELEMENT:&lt;br /&gt;
			$nome_nodo = $xml-&amp;gt;localName;&lt;br /&gt;
			switch ($nome_nodo) {&lt;br /&gt;
				case &amp;#039;película&amp;#039; :&lt;br /&gt;
					echo &amp;#039;&amp;lt;table&amp;gt;&amp;#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;título&amp;quot;:&lt;br /&gt;
					echo &amp;#039;&amp;lt;tr&amp;gt; &amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
					break;					&lt;br /&gt;
				case &amp;quot;títuloorixinal&amp;quot;:&lt;br /&gt;
					echo &amp;#039; (&amp;#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;director&amp;quot;:&lt;br /&gt;
				case &amp;quot;xénero&amp;quot;:&lt;br /&gt;
				case &amp;quot;duración&amp;quot;:&lt;br /&gt;
					echo &amp;#039;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;#039; . $nome_nodo . &amp;#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;#039;;					&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case XMLReader::END_ELEMENT:&lt;br /&gt;
			switch($xml-&amp;gt;localName) {&lt;br /&gt;
				case &amp;quot;película&amp;quot;:&lt;br /&gt;
					echo &amp;#039;&amp;lt;/table&amp;gt;&amp;#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;títuloorixinal&amp;quot;:&lt;br /&gt;
					echo &amp;#039;)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;;&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;director&amp;quot;:&lt;br /&gt;
					echo &amp;#039;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
			$nome_nodo = &amp;quot;&amp;quot;;&lt;br /&gt;
			break;		&lt;br /&gt;
		case XMLReader::TEXT:&lt;br /&gt;
			switch($nome_nodo) {&lt;br /&gt;
				case &amp;quot;película&amp;quot;:&lt;br /&gt;
				case &amp;quot;título&amp;quot;:&lt;br /&gt;
				case &amp;quot;títuloorixinal&amp;quot;:&lt;br /&gt;
				case &amp;quot;director&amp;quot;:&lt;br /&gt;
				case &amp;quot;xénero&amp;quot;:&lt;br /&gt;
				case &amp;quot;duración&amp;quot;:&lt;br /&gt;
					echo $xml-&amp;gt;value;&lt;br /&gt;
			}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$xml-&amp;gt;close();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unha forma sinxela de percorrer os atributos dun elemento é empregando a propiedade &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/class.xmlreader.php#xmlreader.props.hasattributes hasAttributes]&amp;#039;&amp;#039;&amp;#039;, que indica se o elemento ten ou non atributos, e o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.movetonextattribute.php moveToNextAttribute]&amp;#039;&amp;#039;&amp;#039; para movernos de un en un.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
case XMLREADER::ELEMENT:&lt;br /&gt;
   if($xml-&amp;gt;hasAttributes)&lt;br /&gt;
      while($xml-&amp;gt;moveToNextAttribute()) &lt;br /&gt;
         echo &amp;#039;Atributo &amp;#039; . $xml-&amp;gt;localName . &amp;#039;, valor = &amp;quot;&amp;#039; . $xml-&amp;gt;value . &amp;#039;&amp;quot; &amp;lt;br /&amp;gt;&amp;#039;;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Validación ====&lt;br /&gt;
&lt;br /&gt;
XMLReader pode validar o documento conforme o vai lendo. Admite tres tipos de validación.&lt;br /&gt;
&lt;br /&gt;
* Mediante &amp;#039;&amp;#039;&amp;#039;DTD&amp;#039;&amp;#039;&amp;#039;. Para activar a validación por DTD, débense establecer as seguintes opcións:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;setParserProperty(XMLReader::LOADDTD,  TRUE); &lt;br /&gt;
$xml-&amp;gt;setParserProperty(XMLReader::VALIDATE, TRUE);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mediante &amp;#039;&amp;#039;&amp;#039;XML Schema&amp;#039;&amp;#039;&amp;#039;. Neste caso será necesario empregar o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.setschema.php setSchema]&amp;#039;&amp;#039;&amp;#039; `para indicar a ubicación do documento de validación.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;setSchema(&amp;#039;esquema.xsd&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mediante &amp;#039;&amp;#039;&amp;#039;Relax NG&amp;#039;&amp;#039;&amp;#039;. Temos dúas posibilidades: indicar o arquivo de validación con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.setrelaxngschema.php setRelaxNGSchema]&amp;#039;&amp;#039;&amp;#039; ou unha cadea de texto co seu contido con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.setrelaxngschemasource.php setRelaxNGSchemaSource]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;setRelaxNGSchemaSource(&amp;#039;esquema.rng&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En calquera dos casos anteriores, o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/xmlreader.isvalid.php isValid]&amp;#039;&amp;#039;&amp;#039; devolverá &amp;#039;&amp;#039;true&amp;#039;&amp;#039; se o que se leva lido do documento é valido ou &amp;#039;&amp;#039;false&amp;#039;&amp;#039; en caso contrario.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLReader();&lt;br /&gt;
$xml-&amp;gt;open(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;setSchema(&amp;#039;esquema.xsd&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
while ($xml-&amp;gt;read()) {&lt;br /&gt;
   ...&lt;br /&gt;
}&lt;br /&gt;
if(!$xml-&amp;gt;is_valid()) exit(&amp;#039;Erro de validación do documento XML!&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XMLWriter ===&lt;br /&gt;
&lt;br /&gt;
XMLWriter é a contrapartida de XMLReader. Aporta unha forma sinxela de crear documentos XML ben formados. O seu funcionamento é semellante ao de XMLReader.&lt;br /&gt;
&lt;br /&gt;
Para &amp;#039;&amp;#039;&amp;#039;crear un documento XML&amp;#039;&amp;#039;&amp;#039;, primeiro debemos crear unha instancia da &amp;#039;&amp;#039;&amp;#039;clase XMLWriter&amp;#039;&amp;#039;&amp;#039;, e empregar un dos seguintes métodos:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-open-uri.php openURI]&amp;#039;&amp;#039;&amp;#039;. Almacena o documento XML nun URI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLWriter();&lt;br /&gt;
$xml-&amp;gt;openURI(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-open-memory.php openMemory]&amp;#039;&amp;#039;&amp;#039;. Almacena o documento XML en memoria.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLWriter();&lt;br /&gt;
$xml-&amp;gt;openMemory();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Neste caso empregando o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-output-memory.php outputMemory]&amp;#039;&amp;#039;&amp;#039; obteremos o documento XML que levamos escrito en memoria.&lt;br /&gt;
&lt;br /&gt;
Posteriormente para &amp;#039;&amp;#039;&amp;#039;crear o contido do documento&amp;#039;&amp;#039;&amp;#039;, deberemos empregar chamadas aos distintos métodos &amp;#039;&amp;#039;start...&amp;#039;&amp;#039;, &amp;#039;&amp;#039;end...&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;write...&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
* Para &amp;#039;&amp;#039;&amp;#039;crear un novo elemento&amp;#039;&amp;#039;&amp;#039;, podemos emprear o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-write-element.php writeElement]&amp;#039;&amp;#039;&amp;#039; indicando o seu nome e o seu contido&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;xénero&amp;#039;, &amp;#039;Acción&amp;#039;); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Ou chamar primeiro a &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-start-element.php startElement]&amp;#039;&amp;#039;&amp;#039; indicando o seu nome, e despois a &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-end-element.php endElement]&amp;#039;&amp;#039;&amp;#039;. Deste xeito entre as dúas chamadas poderemos crear atributos para o elemento con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-start-attribute.php startAttribute]&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-end-attribute.php endAttribute]&amp;#039;&amp;#039;&amp;#039; ou directamente con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-write-attribute.php writeAttribute]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;importe&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;moneda&amp;#039;, &amp;#039;dólar&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;endElement(); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Do mesmo xeito tamén é posible &amp;#039;&amp;#039;&amp;#039;crear comentarios&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-start-comment.php startComment]&amp;#039;&amp;#039;&amp;#039; con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-end-comment.php endComment]&amp;#039;&amp;#039;&amp;#039;, ou &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-write-comment.php writeComment]&amp;#039;&amp;#039;&amp;#039;), &amp;#039;&amp;#039;&amp;#039;instruccións de procesamento&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-start-pi.php startPI]&amp;#039;&amp;#039;&amp;#039; con &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-end-pi.php endPI]&amp;#039;&amp;#039;&amp;#039;, ou &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-write-pi.php writePI]&amp;#039;&amp;#039;&amp;#039;), etc.&lt;br /&gt;
&lt;br /&gt;
* Para &amp;#039;&amp;#039;&amp;#039;crear texto&amp;#039;&amp;#039;&amp;#039; chamaremos ao método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-text.php text]&amp;#039;&amp;#039;&amp;#039; indicando o seu contido&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;importe&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;moneda&amp;#039;, &amp;#039;dólar&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;text(&amp;#039;13.56&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;endElement();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Para &amp;#039;&amp;#039;&amp;#039;crear a declaración XML&amp;#039;&amp;#039;&amp;#039; emprégase o método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-start-document.php startDocument]&amp;#039;&amp;#039;&amp;#039;, indicando opcionalmente a versión da linguaxe e o sistema de codificación empregado. Do mesmo xeito, cando remata o noso documento deberemos indicarlo chamando ao método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-end-document.php endDocument]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLWriter();&lt;br /&gt;
$xml-&amp;gt;openURI(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;startDocument(&amp;#039;1.0&amp;#039;, &amp;#039;UTF-8&amp;#039;); &lt;br /&gt;
...&lt;br /&gt;
$xml-&amp;gt;endDocument();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* O método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-flush.php flush]&amp;#039;&amp;#039;&amp;#039; volca os búferes no disco. Debe chamarse para finalizar as labores de escritura. No caso de gardar o documento XML en memoria, devolve o seu contido.&lt;br /&gt;
&lt;br /&gt;
Por exemplo, o seguinte código crea un documento XML semellante ao documento de exemplo (sen os elementos &amp;quot;&amp;lt;actor&amp;gt;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$xml = new XMLWriter();&lt;br /&gt;
$xml-&amp;gt;openURI(&amp;#039;exemplo.xml&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;setIndent(true);&lt;br /&gt;
&lt;br /&gt;
$xml-&amp;gt;startDocument(&amp;#039;1.0&amp;#039;, &amp;#039;UTF-8&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;videoteca&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;data_creación&amp;#039;, &amp;#039;24/02/2009&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;película&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;id&amp;#039;, &amp;#039;1&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;importe&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;moneda&amp;#039;, &amp;#039;dólar&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;text(&amp;#039;13.56&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;endElement();&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;título&amp;#039;, &amp;#039;El Santo&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;títuloorixinal&amp;#039;, &amp;#039;The Saint&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;ano&amp;#039;, &amp;#039;1997&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;director&amp;#039;, &amp;#039;Phillip Noyce&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;xénero&amp;#039;, &amp;#039;Acción&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeElement(&amp;#039;duración&amp;#039;, &amp;#039;111&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;writeComment(&amp;#039;  Elisabeth Shue &amp;#039;);&lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;actúa&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;id&amp;#039;, &amp;#039;51&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;endElement();&lt;br /&gt;
$xml-&amp;gt;writeComment(&amp;#039;  Val Kilmer &amp;#039;);&lt;br /&gt;
$xml-&amp;gt;startElement(&amp;#039;actúa&amp;#039;); &lt;br /&gt;
$xml-&amp;gt;writeAttribute(&amp;#039;id&amp;#039;, &amp;#039;156&amp;#039;);&lt;br /&gt;
$xml-&amp;gt;endElement();&lt;br /&gt;
$xml-&amp;gt;endElement();   // Remata o elemento &amp;quot;película&amp;quot;&lt;br /&gt;
$xml-&amp;gt;endElement();   // Remata o elemento &amp;quot;videoteca&amp;quot;&lt;br /&gt;
$xml-&amp;gt;endDocument();&lt;br /&gt;
&lt;br /&gt;
$xml-&amp;gt;flush();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O método &amp;#039;&amp;#039;&amp;#039;[http://docs.php.net/manual/es/function.xmlwriter-set-indent.php setIndent]&amp;#039;&amp;#039;&amp;#039; habilita ou inhabilita a indentación, mellorando a lexibilidade do documento resultante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Vlourido|Víctor Lourido]] 01:24 25 jul 2013 (CEST)&lt;/div&gt;</summary>
		<author><name>Vlourido</name></author>
	</entry>
</feed>