DOM XML (PHP 4)
PHP Manual

Funciones de DOM XML (PHP 4)

Funciones obsoletas

Hay algunas funciones que no encajan en el estándar DOM y no deberían de usarse más. Esta funciones están listadas en la siguiente tabla. La función DomNode_append_child() ha cambiado su comportamiento. Ahora añade un hijo en vez de un hermano. Si esto arruina su aplicación, use la función no éstandar DomNode_append_sibling().

Funciones obsoletas y sus reemplazos
Función antigua Función nueva
xmldoc domxml_open_mem()
xmldocfile domxml_open_file()
domxml_new_xmldoc domxml_new_doc()
domxml_dump_mem DomDocument_dump_mem()
domxml_dump_mem_file DomDocument_dump_file()
DomDocument_dump_mem_file DomDocument_dump_file()
DomDocument_add_root DomDocument_create_element() seguida de DomNode_append_child()
DomDocument_dtd DomDocument_doctype()
DomDocument_root DomDocument_document_element()
DomDocument_children DomNode_child_nodes()
DomDocument_imported_node Sin reemplazo.
DomNode_add_child Crea un nuevo nodo con, p.ej., DomDocument_create_element() y lo añade con DomNode_append_child().
DomNode_children DomNode_child_nodes()
DomNode_parent DomNode_parent_node()
DomNode_new_child Crea un nuevo nodo con, p.ej., DomDocument_create_element() y lo añade con DomNode_append_child().
DomNode_set_content Crea un nuevo nodo con, p.ej., DomDocument_create_text_node() y lo añade con DomNode_append_child().
DomNode_get_content El contenido es sólo un nodo de texto y se puede acceder con DomNode_child_nodes().
DomNode_set_content El contenido es sólo un nodo de texto y se puede acceder con DomNode_append_child().

Clases

La API del módulo sigue el estándar DOM Nivel 2 standard tan estrechamente como es posible. Por lo tanto, la API está completamente orientada a objetos. Es una buena idea tener el estándar DOM disponibles cuando se use este módulo. Aunque la API está orientada a objetos, hay muchas funciones que pueden ser llamadas de una forma no orientada a objetos pasando el objeto que va a operar como primer argumento. Estas funciones están principalmente para mantener la compatibilidad con versiones antiguas de la extensión, y no deberían usarse cuando se creen nuevos scripts.

Esta API difiere de la API DOM oficial de dos maneras. Primero, todos los atributos de clase están implementados como funciones con el mismo nombre. Segundo, los nombres de funciones siguen la convención de nombres de PHP. Esto significa que una función DOM lastChild() será escrita como last_child().

Este módulo define varias clases que están listadas - incluyendo sus métodos - en las siguientes tablas. Las clases con un equivalente en el estándar DOM son llamadas DOMxxx.

Lista de clases
Nombre de la clase Clases padre
DomAttribute DomNode
DomCData DomNode
DomComment DomCData : DomNode
DomDocument DomNode
DomDocumentType DomNode
DomElement DomNode
DomEntity DomNode
DomEntityReference DomNode
DomProcessingInstruction DomNode
DomText DomCData : DomNode
Parser Actualmente todavía se llama DomParser
XPathContext  

Clase DomDocument (DomDocument : DomNode)
Nombre del método Nombre de la función Observación
doctype DomDocument_doctype()  
document_element DomDocument_document_element()  
create_element DomDocument_create_element()  
create_text_node DomDocument_create_text_node()  
create_comment DomDocument_create_comment()  
create_cdata_section DomDocument_create_cdata_section()  
create_processing_instruction DomDocument_create_processing_instruction()  
create_attribute DomDocument_create_attribute()  
create_entity_reference DomDocument_create_entity_reference()  
get_elements_by_tagname DomDocument_get_elements_by_tagname()  
get_element_by_id DomDocument_get_element_by_id()  
dump_mem DomDocument_dump_mem() no está en el estándar DOM
dump_file DomDocument_dump_file() no está en el estándar DOM
html_dump_mem DomDocument_html_dump_mem() no está en el estándar DOM
xpath_init xpath_init no está en el estándar DOM
xpath_new_context xpath_new_context no está en el estándar DOM
xptr_new_context xptr_new_context no está en el estándar DOM

Clase DomElement (DomElement : DomNode)
Nombre del método Nombre de la función Observación
tagname DomElement_tagname()  
get_attribute DomElement_get_attribute()  
set_attribute DomElement_set_attribute()  
remove_attribute DomElement_remove_attribute()  
get_attribute_node DomElement_get_attribute_node()  
set_attribute_node DomElement_set_attribute_node()  
get_elements_by_tagname DomElement_get_elements_by_tagname()  
has_attribute DomElement_has_attribute()  

Clase DomNode
Nombre del método Observación
DomNode_node_name()  
DomNode_node_value()  
DomNode_node_type()  
DomNode_last_child()  
DomNode_first_child()  
DomNode_child_nodes()  
DomNode_previous_sibling()  
DomNode_next_sibling()  
DomNode_parent_node()  
DomNode_owner_document()  
DomNode_insert_before()  
DomNode_append_child()  
DomNode_append_sibling() no está en el estándar DOM. Esta función emula el antiguo comportamiento de DomNode_append_child().
DomNode_remove_child()  
DomNode_has_child_nodes()  
DomNode_has_attributes()  
DomNode_clone_node()  
DomNode_attributes()  
DomNode_unlink_node() no está en el estándar DOM
DomNode_replace_node() no está en el estándar DOM
DomNode_set_content() no está en el estándar, obsoleto
DomNode_get_content() no está en el estándar, obsoleto
DomNode_dump_node() no está en el estándar DOM
DomNode_is_blank_node() no está en el estándar DOM

Clase DomAttribute (DomAttribute : DomNode)
Nombre del método   Observación
name DomAttribute_name()  
value DomAttribute_value()  
specified DomAttribute_specified()  

Clase DomProcessingInstruction (DomProcessingInstruction : DomNode)
Nombre del método Nombre de la función Observación
target DomProcessingInstruction_target()  
data DomProcessingInstruction_data()  

Clase Parser
Nombre del método Nombre de la función Observación
add_chunk Parser_add_chunk()  
end Parser_end()  

Clase XPathContext
Nombre del método Nombre de la función Observación
eval XPathContext_eval()  
eval_expression XPathContext_eval_expression()  
register_ns XPathContext_register_ns()  

Clase DomDocumentType (DomDocumentType : DomNode)
Nombre del método Nombre de la función Observación
name DomDocumentType_name()  
entities DomDocumentType_entities()  
notations DomDocumentType_notations()  
public_id DomDocumentType_public_id()  
system_id DomDocumentType_system_id()  
internal_subset DomDocumentType_internal_subset()  

La clase DomDtd está derivada de DomNode. DomComment está derivada de DomCData.

Ejemplos

Muchos ejemplos de esta referencia requieren una cadena XML. En vez de repetir esta cadena en cada ejemplo, se colocará en un fichero que será incluido por cada ejemplo. Esto fichero incluido se muestra en la sección del ejemplo siguientes. Alternativamente, se podría crear un documento XML y leerlo con DomDocument_open_file().

Example #1 Fichero incluido example.inc con cadena XML

<?php
$xmlstr 
"<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <tgroup cols='3'>
    <tbody>
     <row><entry>a1</entry><entry
morerows='1'>b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
</chapter>"
;
?>

Table of Contents


DOM XML (PHP 4)
PHP Manual