DOM-XML
PHP Manual

DOM-XML-Funktionen

Veraltete Funktionen

Es gibt ziemlich viele Funktionen, die nicht in den DOM-Standard passen und nicht mehr länger benutzt werden sollten. Diese Funktionen sind in der folgenden Tabelle aufgelistet. Die Funktion DomNode_append_child() hat ihr Verhalten geändert, indem sie nun ein 'Kind' statt einem 'Geschwister' hinzufügt. Wenn Ihre Applikation deshalb nicht mehr funktioniert, verwenden Sie die nicht DOM-standardkonforme Funktion DomNode_append_sibling().

Veraltete Funktionen und deren Ersatz
Alte Funktion Neue Funktion
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() gefolgt von DomNode_append_child()
DomDocument_dtd DomDocument_doctype()
DomDocument_root DomDocument_document_element()
DomDocument_children DomNode_child_nodes()
DomDocument_imported_node Kein Ersatz.
DomNode_add_child Erstellen Sie einen neuen Knoten mit z.B. DomDocument_create_element() und fügen Sie ihn mit DomNode_append_child() hinzu.
DomNode_children DomNode_child_nodes()
DomNode_parent DomNode_parent_node()
DomNode_new_child Erstellen Sie einen neuen Knoten mit z.B. DomDocument_create_element() und fügen Sie ihn mit DomNode_append_child() hinzu.
DomNode_set_content Erstellen Sie einen neuen Knoten mit z.B. DomDocument_create_text_node() und fügen Sie ihn mit DomNode_append_child() hinzu.
DomNode_get_content Der Inhalt ist nur ein Textknoten, auf den mittels DomNode_child_nodes() zugegriffen werden kann.
DomNode_set_content Der Inhalt ist nur ein Textknoten, der mittels DomNode_append_child() hinzugefügt werden kann.

Klassen

Das API dieses Moduls entspricht dem DOM-Level-2-Standard so weit wie möglich. Folglich ist das API vollständig objektorientiert. Es wäre sinnvoll, den DOM-Standard verfügbar zu haben, wenn Sie dieses Modul benutzen. Obwohl das API objektorientiert ist, gibt es viele Funktionen, die in einer nicht-objektorientierten Art aufgerufen werden können, indem das zu bearbeitende Objekt als das erste Argument übergeben wird. Diese Funktionen dienen hauptsächlich der Kompatibilität zu älteren Versionen dieser Erweiterung und sollten deshalb beim Erstellen neuer Skripte nicht mehr verwendet werden.

Dieses API unterscheidet sich von dem offiziellen DOM-API auf zwei Arten. Erstens sind alle Klassenattribute als Funktionen mit dem selben Namen implementiert. Zweitens folgen die Funktionsnamen der PHP-Namenskonvention. Das heißt, dass eine DOM-Funktion lastChild() als last_child() geschrieben wird.

Dieses Modul definiert eine Anzahl Klassen, die - inklusive ihrer Methoden - in den folgenden Tabellen aufgelistet sind. Klassen mit einem Äquivalent im DOM-Standard werden DOMxxx genannt.

Liste der Klassen
Klassenname Basisklassen
DomAttribute DomNode
DomCData DomNode
DomComment DomCData : DomNode
DomDocument DomNode
DomDocumentType DomNode
DomElement DomNode
DomEntity DomNode
DomEntityReference DomNode
DomProcessingInstruction DomNode
DomText DomCData : DomNode
Parser Derzeit noch immer DomParser genannt
XPathContext  

DomDocument-Klasse (DomDocument : DomNode)
Methodenname Funktionsname Anmerkung
doctype DomDocument_doctype()  
document_elemnent 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() kein DOM-Standard
dump_file DomDocument_dump_file() kein DOM-Standard
html_dump_mem DomDocument_html_dump_mem() kein DOM-Standard
xpath_init xpath_init kein DOM-Standard
xpath_new_context xpath_new_context kein DOM-Standard
xptr_new_context xptr_new_context kein DOM-Standard

DomElement-Klasse (DomElement : DomNode)
Methodenname Funktionsname Anmerkung
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()  

DomNode-Klasse
Methodenname Anmerkung
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() Nicht im DOM-Standard. Diese Funktion emuliert das frühere Verhalten von DomNode_append_child().
DomNode_remove_child()  
DomNode_has_child_nodes()  
DomNode_has_attributes()  
DomNode_clone_node()  
DomNode_attributes()  
DomNode_unlink_node() Nicht im DOM-Standard
DomNode_replace_node() Nicht im DOM-Standard
DomNode_set_content() Nicht im DOM-Standard, veraltet
DomNode_get_content() Nicht im DOM-Standard, veraltet
DomNode_dump_node() Nicht im DOM-Standard
DomNode_is_blank_node() Nicht im DOM-Standard

DomAttribute-Klasse (DomAttribute : DomNode)
Methodenname   Anmerkung
name DomAttribute_name()  
value DomAttribute_value()  
specified DomAttribute_specified()  

DomProcessingInstruction-Klasse (DomProcessingInstruction : DomNode)
Methodenname Funktionsname Anmerkung
target DomProcessingInstruction_target()  
data DomProcessingInstruction_data()  

Parser-Klasse
Methodenname Funktionsname Anmerkung
add_chunk Parser_add_chunk()  
end Parser_end()  

XPathContext-Klasse
Methodenname Funktionsname Anmerkung
eval XPathContext_eval()  
eval_expression XPathContext_eval_expression()  
register_ns XPathContext_register_ns()  

DomDocumentType-Klasse (DomDocumentType : DomNode)
Methodenname Funktionsname Anmerkung
name DomDocumentType_name()  
entities DomDocumentType_entities()  
notations DomDocumentType_notations()  
public_id DomDocumentType_public_id()  
system_id DomDocumentType_system_id()  
internal_subset DomDocumentType_internal_subset()  

Die Klasse DomDtd ist von DomNode, und DomComment von DomCData abgeleitet

Beispiele

Viele Beispiele in dieser Referenz erfordern einen XML-String. Anstatt diesen String laufend zu wiederholen, wird er in eine Datei geschrieben, die von jedem Beispiel eingebunden wird. Diese einzubindende Datei wird in dem folgenden Beispielteil gezeigt. Alternativ dazu können Sie ein XML Dokument erstellen, und dieses mit DomDocument_open_file() einlesen.

Beispiel #1 Einzubindende Datei example.inc mit XML-String

<?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>"
;
?>

Inhaltsverzeichnis


DOM-XML
PHP Manual