DOM Document Object Model
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 = 'http://movie.douban.com/category/' ;
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, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, 'http://www.baidu.com');
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
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);
}
}
?>