Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-DOM-Analyse

PHP-DOM-Analyse

WBOY
WBOYOriginal
2016-08-08 09:31:041920Durchsuche

DOM    Document Object Model

  • DOMAttr – 元素属性类
  • DOMCdataSection – Die DOMCdataSection-Klasse
  • DOMCharacterData – 字符数据类
  • DOMComment – ​​文档注释类
  • DOMDocument – ​​DOM文档类
  • DOMDocumentFragment – ​​Die DOMDocumentFragment-Klasse
  • DOMDocumentType – Die DOMDocumentType-Klasse
  • DOMElement – ​​Die DOMElement-Klasse
  • DOMEntity – Die DOMEntity-Klasse
  • DOMEntityReference – Die DOMEntityReference-Klasse
  • DOMException – Die DOMException-Klasse
  • DOMImplementation – Die DOMImplementation-Klasse
  • DOMNamedNodeMap – Die DOMNamedNodeMap-Klasse
  • DOMNode – Die DOMNode-Klasse
  • DOMNodeList – Die DOMNodeList-Klasse
  • DOMNotation – Die DOMNotation-Klasse
  • DOMProcessingInstruction – Die DOMProcessingInstruction-Klasse
  • DOMText – DOM文本类
  • DOMXPath – Die DOMXPath-Klasse
  • DOM 函数                           

    DOMElementdom_import_simplexml ( SimpleXMLElement$node ) —从 SimpleXMLElement对象中获取DOM元素


Vordefinierte Konstanten
Die folgenden Konstanten werden von dieser Erweiterung definiert und sind nur verfügbar, wenn diese Erweiterung in PHP kompiliert oder zur Laufzeit dynamisch geladen wird.
 _NODE (Ganzzahl)     3     Knoten ist ein DOMText
    XML_CDATA_SECTION_NODE (Ganzzahl ), DE (Ganzzahl)     7     Knoten ist eine DOMProcessingInstruction
    XML_COMMENT_NODE (Ganzzahl)     8 Knoten ist ein DOMComment
    XML_DOCUMENT_NODE (Ganzzahl)     9     Knoten ist ein DOMDocument
    XML_DOCUMENT_TYPE_NODE (Ganzzahl)     10     Knoten ist ein DOMDocumentType
    XML_DOCUMENT_FRAG_NODE (Ganzzahl)   11     Knoten ist ein DOMDocumentFragment
    XML_NOTATION_NODE (Ganzzahl)     12     Knoten ist a DOMNotation
    XML_HTML_DOCUMENT_NODE (Ganzzahl)     13     
    XML_DTD_NODE (Ganzzahl)     14     
    XML_ELEMENT_DECL_NODE (Ganzzahl)     15     
    XML_ ATTRIBUTE_DECL_NODE (Ganzzahl)     16     
    XML_ENTITY_DECL_NODE (Ganzzahl)     17     
    XML_NAMESPACE_DECL_NODE (Ganzzahl)     18
 Ganzzahl)     4     
    XML_ATTRIBUTE_ENTITY (Ganzzahl)     5     
    XML_ATTRIBUTE_NMTOKEN (Ganzzahl)     7     
    XML_ATTRIBUTE_NMTOKENS (Ganzzahl)     8     
    XML_ATTRIBUTE_ENUMERATION (Ganzzahl)     9     
    XML_ATTRIBUTE_NOTATION (Ganzzahl)     10     
    DOMException-Konstanten Konstante     Wert     Beschreibung
    DOM_PHP_ERR (Ganzzahl)     0     Fehlercode, der nicht Teil der DOM-Spezifikation ist. Gedacht für PHP-Fehler.
    DOM_INDEX_SIZE_ERR (Ganzzahl)     1     Wenn Index oder Größe negativ oder größer als der zulässige Wert sind.
    DOMSTRING_SIZE_ERR (Ganzzahl)     2     Wenn der angegebene Textbereich nicht in einen DOMString passt.
    DOM_HIERARCHY_REQUEST_ERR (Ganzzahl)     3     Wenn ein Knoten an einer Stelle eingefügt wird, an der er nicht hingehört
    DOM_WRONG_DOCUMENT_ERR (Ganzzahl)     4     Wenn ein Knoten in einem anderen Dokument als dem verwendet wird, in dem er erstellt wurde.
    DOM_INVALID_CHARACTER_ERR ( ganze Zahl)     5     If Es wird ein ungültiges oder illegales Zeichen angegeben, beispielsweise in einem Namen.
    DOM_NO_DATA_ALLOWED_ERR (Ganzzahl)     6     Wenn Daten für einen Knoten angegeben werden, der keine Daten unterstützt.
    DOM_NO_MODIFICATION_ALLOWED_ERR (Ganzzahl)     7     Wenn versucht wird, Änderungen vorzunehmen ein Objekt, bei dem Änderungen nicht zulässig sind.
    DOM_NOT_FOUND_ERR (Ganzzahl)     8     Wenn versucht wird, auf einen Knoten in einem Kontext zu verweisen, in dem er nicht existiert.
    DOM_NOT_SUPPORTED_ERR (Ganzzahl)     9     Wenn die Implementierung das Angeforderte nicht unterstützt Typ des Objekts oder Vorgangs.
    DOM_INUSE_ATTRIBUTE_ERR (Ganzzahl)     10     Wenn versucht wird, ein Attribut hinzuzufügen, das bereits an anderer Stelle verwendet wird.
    DOM_INVALID_STATE_ERR (Ganzzahl)     11     Wenn versucht wird, ein Objekt zu verwenden, das nicht oder nicht mehr verwendbar ist.
    DOM_SYNTAX_ERR (Ganzzahl)     12     Wenn eine ungültige oder illegale Zeichenfolge angegeben wird.
    DOM_INVALID_MODIFICATION_ERR (Ganzzahl)   13 Wenn versucht wird, den Typ des zugrunde liegenden Objekts zu ändern.
    DOM_NAMESPACE_ERR (Ganzzahl)     14     Wenn versucht wird, ein Objekt auf eine Weise zu erstellen oder zu ändern, die in Bezug auf Namespaces falsch ist.
    DOM_INVALID_ACCESS_ERR (Ganzzahl )     15     Wenn ein Parameter oder eine Operation vom zugrunde liegenden Objekt nicht unterstützt wird.
    DOM_VALIDATION_ERR (integer)     16     Wenn ein Aufruf einer Methode wie insertBefore oder removeChild den Node hinsichtlich der „Teilgültigkeit“ ungültig machen würde, gilt diese Ausnahme würde ausgelöst werden und der Vorgang würde nicht ausgeführt.
    
    
DOMNode {
    /* 属性 */
    public readonly string $nodeName ;              //Gibt den genauesten Namen für den aktuellen Knotentyp zurück
    public string $nodeValue ;                      //Der Wert dieses Knotens, abhängig von seinem Typ
    public readonly int $nodeType ;                 //Erhält den Typ des Knotens. Eine der vordefinierten XML_xxx_NODE-Konstanten
    public readonly DOMNode $parentNode ;           //Das übergeordnete Element dieses Knotens
    public readonly DOMNodeList $childNodes ;       //Eine DOMNodeList, die alle untergeordneten Elemente dieses Knotens enthält. Wenn es keine Kinder gibt,
                                                           //Dies ist eine   leere DOMNodeList.
    public readonly DOMNode $firstChild ;           //Das erste untergeordnete Element dieses Knotens. Wenn kein solcher Knoten vorhanden ist, wird NULL zurückgegeben.
    public readonly DOMNode $lastChild ;            //Das letzte Kind dieses Knotens. Wenn kein solcher Knoten vorhanden ist, wird NULL zurückgegeben.
    public readonly DOMNode $ previousSibling ;      //Der Knoten unmittelbar vor diesem Knoten. Wenn kein solcher Knoten vorhanden ist, wird NULL zurückgegeben.
    public readonly DOMNode $nextSibling ;          //Der Knoten, der diesem Knoten unmittelbar folgt. Wenn kein solcher Knoten vorhanden ist, wird NULL zurückgegeben.
    public readonly DOMNamedNodeMap $attributes ;   //Eine DOMNamedNodeMap, die die Attribute dieses Knotens enthält (wenn es sich um ein DOMElement handelt)
                                                           // andernfalls NULL.
    public readonly DOMDocument $ownerDocument ;    //Das diesem Knoten zugeordnete DOMDocument-Objekt.
    öffentlicher schreibgeschützter String $namespaceURI ;          //Der Namespace-URI dieses Knotens oder NULL, wenn er nicht angegeben ist.
    public string $prefix ;                         //Das Namespace-Präfix dieses Knotens oder NULL, wenn es nicht angegeben ist.
    öffentlicher schreibgeschützter String $localName ;             //Gibt den lokalen Teil des qualifizierten Namens dieses Knotens zurück.
    public readonly string $baseURI ;               //Der absolute Basis-URI dieses Knotens oder NULL, wenn die Implementierung nicht dazu in der Lage war
                                                             // einen absoluten URI erhalten.
    öffentlicher schreibgeschützter String $textContent ;           //Dieses Attribut gibt den Textinhalt dieses Knotens und seiner Nachkommen zurück.
    
    /* 方法 */
    public DOMNode appendChild ( DOMNode $newnode )      Fügt ein neues untergeordnetes Element am Ende der untergeordneten Elemente hinzu
    public string C14N ([ bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )   Knoten zu einem String kanonisieren
    public int C14NFile ( string $uri [, bool $exclusive [, bool $with_comments [, array $xpath [, array $ns_prefixes ]]]] )    Knoten in eine Datei kanonisieren
    public DOMNode cloneNode ([ bool $deep=False ] )       Klont einen Knoten
    public int getLineNo ( void )                Get Zeilennummer für einen Knoten
    öffentliche Zeichenfolge getNodePath ( void )          Einen XPath für einen Knoten abrufen
    public bool hasAttributes ( void )          Prüft, ob der Knoten Attribute hat
    public bool hasChildNodes ( void )           Prüft, ob der Knoten untergeordnete Elemente hat
    public DOMNode insertBefore ( DOMNode $newnode [, DOMNode $refnode ] )       Fügt ein neues untergeordnetes Element vor einem Referenzknoten hinzu
    public bool isDefaultNamespace ( string $namespaceURI )              Überprüft, ob der angegebene Namespace-URI der Standard-Namespace ist oder nicht
    public bool isSameNode ( DOMNode $node )                         Gibt an, ob zwei Knoten derselbe Knoten sind
    public bool isSupported ( string $feature , string $version )        Prüft, ob die Funktion für die angegebene Version unterstützt wird
    public string lookupNamespaceURI ( string $prefix )                 Ruft das ab Namespace-URI des Knotens basierend auf dem Präfix
    public string lookupPrefix ( string $namespaceURI )                  Ruft das Namespace-Präfix des Knotens basierend auf dem Namespace-URI ab
    public void normalize ( void )                               Normalisiert den Knoten
    public DOMNode removeChild ( DOMNode $oldnode )                      Entfernt untergeordnetes Element aus der Liste der untergeordneten Elemente
    public DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )     Ersetzt ein untergeordnetes Element
}
DOMNamedNodeMap implementiert Traversable {
    /*属性 */
    readonly public int $length ;       Die Anzahl der Knoten in der Karte. Der Bereich gültiger untergeordneter Knotenindizes reicht von 0 bis zur Länge - einschließlich 1.
    /* 方法 */
    DOMNode getNamedItem ( string $name )       Ruft einen durch den Namen angegebenen Knoten ab
    DOMNode getNamedItemNS ( string $namespaceURI , string $localName )     Ruft einen durch lokalen Namen und Namespace-URI angegebenen Knoten ab >    schreibgeschützter öffentlicher String $publicId ;
    schreibgeschützter öffentlicher String $systemId ;
}
DomprocessingInstruction erweitert Domnode {
, String $ value])
}
Domattr repräsentiert das Domelement -Objektattribut. string $name; //Attributname
public readonly DOMElement $ownerElement ; //Die in diesem Element enthaltenen Attribute
public readonly bool $schemaTypeInfo ; //Die aktuelle und zukünftige Implementierung ist NULL
public readonly bool $ angegeben ; $value; //Attributwert
/* Methode*/
public __construct ( string $name [, string $value ] )
public bool isId ( void )

}
DOMNodeList implementiert Traversable {
/* Properties*/
readonly public int $length ; Der Bereich der gültigen Unterknotenindizes beträgt 0 bis einschließlich Länge - 1.
/ * Methode */
DOMNode DOMNodelist::item ( int $index ) Ruft einen durch index angegebenen Knoten ab
}
DOMXPath {
/* Properties*/
public DOMDocument $document ;
/ * Methode*/
public __construct ( DOMDocument $doc )
public Mixedvalue ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] ) Wertet den angegebenen XPath-Ausdruck aus und gibt einen typisierten zurück Ergebnis, wenn möglich
public DOMNodeList query ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] ) Wertet den angegebenen XPath-Ausdruck aus
public bool registerNamespace ( string $prefix , string $namespaceURI ) Registriert die Namespace mit dem DOMXPath-Objekt
public void registerPhpFunctions ([ gemischt $restrict ] ) PHP-Funktionen als XPath-Funktionen registrieren
}
 
DOMElement erweitert DOMNode {
    /* 属性 */
    readonly public bool $schemaTypeInfo ;      Noch nicht implementiert, immer NULL zurückgeben
    schreibgeschützter öffentlicher String $tagName ;           Der Elementname
    /* 方法 */    
    public __construct ( string $name [, string $value [, string $namespaceURI ]] )  Erstellt ein neues DOMElement-Objekt   
    public string getAttribute ( string $name )                 public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )
    public bool hasAttribute ( string $name )
    public bool hasAttributeNS ( string $namespaceURI , string $localName )
    public bool removeAttribute ( string $name )
    public bool removeAttributeNode ( DOMAttr $oldnode )
    public bool removeAttributeNS ( string $namespaceURI , string $localName )
    public DOMAttr setAttribute ( string $name , string $value )
    public DOMAttr setAttributeNode ( DOMAttr $attr )
    public DOMAttr setAttributeNodeNS ( DOMAttr $attr )
    public void setAttributeNS ( string $namespaceURI , string $qualifiedName , string $value )
    public void setIdAttribute ( string $name , bool $isId ) Keine Knoten entsprechen dieser Klasse direkt, aber andere Knoten erben von ihr.
DOMCharacterData erweitert DOMNode {      
        
    /* 属性 */
    public string $data ;       Der Inhalt des Knotens.
    readonly public int $length ;       Die Länge des Inhalts.
    /* 方法 */
    void appendData ( string $data )        Den String an das Ende der Zeichendaten des Knotens anhängen
    void deleteData ( int $offset , int $count )        Einen Zeichenbereich aus dem Knoten entfernen
    void insertData ( int $offset , string $data )      Füge einen String am angegebenen 16-Bit-Einheitsoffset ein
    void replacementData ( int $offset , int $count , string $ data )        Ersetzen Sie einen Teilstring innerhalb des DOMCharacterData-Knotens
    string substringData ( int $offset , int $count )       Extrahiert einen Datenbereich aus dem Knoten
}
DOMText         Die DOMText-Klasse erbt von DOMCharacterData und stellt den Textinhalt dar eines DOMElements oder DOMAttr.
DOMText erweitert DOMCharacterData {
    /* 属性 */
    readonly public string $wholeText ;     Enthält den gesamten Text logisch benachbarter (nicht durch Element, Kommentar oder Verarbeitungsanweisung getrennter) Textknoten.
    
    /* 方法 */
    public __construct ([ string $value ] )     Erstellt ein neues DOMText-Objekt
{ zur textuellen Darstellung von CData-Konstrukten.
DOMCdataSection erweitert DOMText {
    /* 方法 */
    public __construct ( string $value )
}
DOMComment  Stellt Kommentarknoten und durch getrennte Zeichen dar.
DOMComment erweitert DOMCharacterData {
    /* 方法 */
    public __construct ([ string $value ] )
}
DOMDocumentType     Jedes DOMDocument hat ein Doctype-Attribut, dessen Wert entweder NULL oder ein DOMDocumentType-Objekt ist.
DOMDocumentType erweitert DOMNode {
    /* 属性 */
    readonly public string $publicId ;      Die öffentliche Kennung der externen Teilmenge.
    schreibgeschützte öffentliche Zeichenfolge $systemId ;      Die Systemkennung der externen Teilmenge. Dies kann ein absoluter URI sein oder nicht.
    readonly public string $name ;          Der Name der DTD; d. h. der Name, der unmittelbar auf das Schlüsselwort DOCTYPE folgt.
    readonly public DOMNamedNodeMap $entities ;     Eine DOMNamedNodeMap, die die allgemeinen, sowohl externen als auch internen Entitäten enthält, die in der DTD deklariert sind.
    readonly public DOMNamedNodeMap $notations ;        Eine DOMNamedNodeMap, die die in der DTD deklarierten Notationen enthält.
    readonly public string $internalSubset ;        Die interne Teilmenge als Zeichenfolge oder null, wenn keine vorhanden ist. Dies enthält nicht die begrenzenden eckigen Klammern.
}
DOMDocumentFragment erweitert DOMNode {
    public bool appendXML ( string $data )      XML-Rohdaten anhängen
}
DOMEntity  Diese Schnittstelle stellt eine bekannte Entität dar, entweder geparst oder ungeparst, in einem XML-Dokument.
DOMEntity erweitert DOMNode {
    /* 属性 */
    readonly public string $publicId ;      Der mit der Entität verknüpfte öffentliche Bezeichner, falls angegeben, andernfalls NULL.
    schreibgeschützter öffentlicher String $systemId ;      Der mit der Entität verknüpfte Systembezeichner, falls angegeben, andernfalls NULL. Dies kann ein absoluter URI sein oder nicht.
    readonly public string $notationName ;      Bei nicht geparsten Entitäten der Name der Notation für die Entität. Für geparste Entitäten ist dies NULL.
    öffentliche Zeichenfolge $actualEncoding ;         Ein Attribut, das die für diese Entität zum Zeitpunkt der Analyse verwendete Codierung angibt, wenn es sich um eine extern analysierte Entität handelt. Dies ist NULL, wenn es sich um eine Entität aus der internen Teilmenge handelt oder wenn sie nicht bekannt ist.
    readonly public string $encoding ;      Ein Attribut, das als Teil der Textdeklaration die Kodierung dieser Entität angibt, wenn es sich um eine extern analysierte Entität handelt. Andernfalls ist dies NULL.
    schreibgeschützter öffentlicher String $version ;       Ein Attribut, das als Teil der Textdeklaration die Versionsnummer dieser Entität angibt, wenn es sich um eine extern analysierte Entität handelt. Andernfalls ist dies NULL.
}
DOMEntityReference erweitert DOMNode {
    public __construct ( string $name )
}
Exception {
/* Attributes*/
protected string $message; Exception message content
protected int $code; Exception code
protected string $file; Dateiname, der die Ausnahme ausgelöst hat
protected int $line ; Die Zeilennummer in der Datei, in der die Ausnahme ausgelöst wurde
/* Method*/
public __construct ([ string $message = "" [, int $code = 0 [, Exception $ previous = NULL ]]] )
final public string getMessage (void) Den Inhalt der Ausnahmemeldung abrufen
final public Exception getPrevious (void) Die vorherige Ausnahme in der Ausnahmekette zurückgeben
final public int getCode (void) Get der Ausnahmecode
final public string getFile ( void ) Ruft den Namen der Programmdatei ab, in der die Ausnahme aufgetreten ist
final public int getLine ( void ) Ruft die Zeilennummer des Codes in der Datei ab, in der die Ausnahme aufgetreten ist
finales öffentliches Array getTrace ( void ) Ruft die Ausnahme-Trace-Informationen ab
final public string getTraceAsString (void) Ruft Ausnahme-Trace-Informationen vom String-Typ ab
public string __toString (void) Konvertiert das Ausnahmeobjekt in einen String
final private void __clone (void) Exception clone
}
DOMException DOM-Operationen lösen unter bestimmten Umständen Ausnahmen aus, z. B. wenn eine Operation aus logischen Gründen nicht ausgeführt werden kann.
DOMException erweitert die Ausnahme {
/* Attribute */
readonly public int $code ; Eine Ganzzahl, die den Typ des generierten Fehlers angibt
}
DOMImplementation Die DOMImplementation-Schnittstelle bietet eine Reihe von Methoden zum Ausführen von Vorgängen, die unabhängig von einer bestimmten Instanz des Dokumentobjektmodells sind .
DOMImplementation {
/ * Method*/
__construct ( void )
public DOMDocument createDocument ([ string $namespaceURI = NULL [, string $qualifiedName = NULL [, DOMDocumentType $doctype = NULL ]] ] ) Erstellt ein DOMDocument-Objekt des angegebenen Typs mit seinem Dokumentelement
public DOMDocumentType createDocumentType ([ string $qualifiedName = NULL [, string $publicId = NULL [, string $systemId = NULL ]]] ) Erstellt ein leeres DOMDocumentType-Objekt
public bool hasFeature ( string $feature, string $version ) Testen Sie, ob die DOM-Implementierung eine bestimmte Funktion implementiert
}
DOMDocument erweitert DOMNode {
    /* 属性 */
    readonly public string $actualEncoding ;        Veraltet. Die tatsächliche Kodierung des Dokuments ist ein schreibgeschütztes Äquivalent zur Kodierung.
    readonly public DOMConfiguration $config ;      Veraltet. Konfiguration, die verwendet wird, wenn DOMDocument::normalizeDocument() aufgerufen wird.
    readonly public DOMDocumentType $doctype ;      Die diesem Dokument zugeordnete Dokumenttypdeklaration.
    readonly public DOMElement $documentElement ;       Dies ist ein praktisches Attribut, das den direkten Zugriff auf den untergeordneten Knoten ermöglicht, der das Dokumentelement des Dokuments ist.
    öffentliche Zeichenfolge $documentURI ;                Der Speicherort des Dokuments oder NULL, wenn nicht definiert.
    öffentliche Zeichenfolge $encoding ;       Kodierung des Dokuments, wie in der XML-Deklaration angegeben. Dieses Attribut ist in der endgültigen DOM Level 3-Spezifikation nicht vorhanden, stellt jedoch die einzige Möglichkeit zur Manipulation der XML-Dokumentkodierung in dieser Implementierung dar.
    public bool $formatOutput ;     Formatiert die Ausgabe gut mit Einrückung und zusätzlichem Platz.
    readonly public DOMImplementation $implementation ;         Das DOMImplementation-Objekt, das dieses Dokument verarbeitet.
    public bool $preserveWhiteSpace = true ;        Entfernen Sie keine überflüssigen Leerzeichen. Standardmäßig TRUE.
    public bool $recover ;                  Proprietär. Aktiviert den Wiederherstellungsmodus, d. h. den Versuch, nicht wohlgeformte Dokumente zu analysieren. Dieses Attribut ist nicht Teil der DOM-Spezifikation und spezifisch für libxml.
    public bool $resolveExternals ;     Setzen Sie es auf TRUE, um externe Entitäten aus einer Doctype-Deklaration zu laden. Dies ist nützlich, um Zeichenentitäten in Ihr XML-Dokument einzubinden.
    public bool $standalone ;           Veraltet. Ob das Dokument gemäß der XML-Deklaration eigenständig ist oder nicht, entspricht xmlStandalone.
    public bool $strictErrorChecking = true ;       Löst bei Fehlern eine DOMException aus. Standardmäßig TRUE.
    public bool $substituteEntities ;           Proprietär. Ob Entitäten ersetzt werden sollen oder nicht. Dieses Attribut ist nicht Teil der DOM-Spezifikation und spezifisch für libxml.
    public bool $validateOnParse = false ;      Lädt und validiert anhand der DTD. Standardmäßig FALSE.
    öffentliche Zeichenfolge $version ;                Veraltet. Version von XML, entspricht xmlVersion.
    schreibgeschützter öffentlicher String $xmlEncoding ;       Ein Attribut, das als Teil der XML-Deklaration die Kodierung dieses Dokuments angibt. Dies ist NULL, wenn es nicht angegeben ist oder nicht bekannt ist, beispielsweise wann das Dokument im Speicher erstellt wurde.
    public bool $xmlStandalone ;        Ein Attribut, das als Teil der XML-Deklaration angibt, ob dieses Dokument eigenständig ist. Dies ist FALSE, wenn es nicht angegeben wird.
    öffentliche Zeichenfolge $xmlVersion ;     Ein Attribut, das als Teil der XML-Deklaration die Versionsnummer dieses Dokuments angibt. Wenn keine Deklaration vorhanden ist und dieses Dokument die Funktion „XML“ unterstützt, ist der Wert „1.0“.
    
    /* 方法 */
    public __construct ([ string $version [, string $encoding ] ] )
    public DOMAttr createAttribute ( string $name )
    public DOMAttr createAttributeNS ( string $namespaceURI , string $qualifiedName )       Neuen Attributknoten mit einem zugehörigen Namespace erstellen
    public DOMCDATASection createCDATASection ( string $data )
public DOMComment createComment ( string $data )
    public DOMDocumentFragment createDocumentFragment ( void )
    public DOMElement createElement ( string $name [, string $value ] )
    public DOMElement createElementNS ( string $namespaceURI , string $qualifiedName [, string $value ] )
    public DOMEntityReference createEntityReference ( string $name )
    public DOMProcessingInstruction createProcessingInstruction ( string $target [, string $data ] )
    public DOMText createTextNode ( string $content )
    public DOMElement getElementById ( string $elementId )      Sucht nach einem Element mit einer bestimmten ID
    public DOMNodeList getElementsByTagName ( string $name )        Sucht nach allen Elementen mit dem angegebenen lokalen Tag-Namen
    public DOMNodeList getElementsByTagNameNS ( string $namespaceURI , string $localName )      Sucht nach allen Elementen mit dem angegebenen Tag-Namen im angegebenen Namespace
    public DOMNode importNode ( DOMNode $importedNode [, bool $deep ] )     Knoten in aktuelles Dokument importieren
    public Mixed Load ( string $filename [, int $options = 0 ] )             XML aus einer Datei laden
public bool loadHTML ( string $source [, int $options = 0 ] )       HTML aus einer Zeichenfolge laden
    public bool loadHTMLFile ( string $filename [, int $options = 0 ] )     HTML aus einer Datei laden
    public gemischt LoadXML (String $Source [, Int $Options = 0])   Registrieren Sie die verwendete erweiterte Klasse zum Erstellen des Basisknotentyps
    public bool relaxNGValidate ( string $filename )                    Führt eine relaxNG-Validierung für das Dokument durch
    public bool relaxNGValidateSource ( string $source )                Führt eine relaxNG-Validierung für das Dokument durch
    public int save ( string. $file Name [ , int $options ] )       Speichert den internen XML-Baum zurück in eine Datei
    public string saveHTML ([ DOMNode $node = NULL ] )      Speichert das interne Dokument mithilfe der HTML-Formatierung in einen String
    public int saveHTMLFile ( string $filename ) {   , int $flags ] )     Validiert ein Dokument basierend auf einem Schema
    public bool schemaValidateSource ( string $source [, int $flags ] )     Validiert ein Dokument basierend auf einem Schema
    public bool activate ( void )                   Validiert das Dokument basierend auf seiner DTD
    public int xinclude ([ int $options ] )         Ersetzt XIncludes in einem DOMDocument-Objekt

}


以上就介绍了php DOM 解析,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助.

<?php
$url = &#39;http://movie.douban.com/category/&#39; ;
function getPage($url)
{ 
  $curl = curl_init(); 
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; 
  $header[] = "Cache-Control: max-age=0"; 
  $header[] = "Connection: keep-alive"; 
  $header[] = "Keep-Alive: 300"; 
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
  $header[] = "Accept-Language: en-us,en;q=0.5"; 
  $header[] = "Pragma: "; // browsers keep this blank. 

  curl_setopt($curl, CURLOPT_URL, $url); 
  curl_setopt($curl, CURLOPT_USERAGENT, &#39;Googlebot/2.1 (+http://www.google.com/bot.html)&#39;); 
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
  curl_setopt($curl, CURLOPT_REFERER, &#39;http://www.baidu.com&#39;); 
  curl_setopt($curl, CURLOPT_ENCODING, &#39;gzip,deflate&#39;); 
  curl_setopt($curl, CURLOPT_AUTOREFERER, true); 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($curl, CURLOPT_TIMEOUT, 10); 

  $html = curl_exec($curl);  
  curl_close($curl); 
  return $html;
} 

$text = getPage($url); 
$xml = new DOMDocument();
$xml->loadHTMLFile("test.html");
$xml->encoding='UTF-8';
$xpath=new DOMXpath($xml);

$elements = $xpath->query("/html/body//div[@id='type']/ul");
var_dump($elements);
foreach ( $elements as $e){
    foreach ($e->childNodes as $es){
        var_dump($es->nodeValue);
    }
}
?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn