DOMDocument sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bir HTML veya XML belgeyi temsil eder ve belgeyi belge ağacının kökü olarak sunar.

Sınıf Sözdizimi

classDOMDocumentextendsDOMNodeimplementsDOMParentNode {
publicreadonly?DOMDocumentType$doctype;
publicreadonly?string$actualEncoding;
publicreadonly?string$xmlEncoding;
publicreadonlymixed$config;
publicreadonlyint$childElementCount;
publicreadonly?string$nodeName;
publicreadonlyint$nodeType;
publicreadonly?DOMNode$parentNode;
publicreadonlyDOMNodeList$childNodes;
publicreadonly?DOMNode$firstChild;
publicreadonly?DOMNode$lastChild;
publicreadonly?DOMNode$previousSibling;
publicreadonly?DOMNode$nextSibling;
publicreadonly?string$namespaceURI;
publicreadonly?string$localName;
publicreadonly?string$baseURI;
public__construct(string$version = "1.0", string$encoding = "")
publicappend(DOMNode|string...$nodes): void
publiccreateAttributeNS(?string$namespace, string$qualifiedName): DOMAttr|false
publiccreateElement(string$localName, string$value = ""): DOMElement|false
publiccreateElementNS(?string$namespace, string$qualifiedName, string$value = ""): DOMElement|false
publicgetElementsByTagNameNS(?string$isimalanı, string$yerelAd): DOMNodeList
publicimportNode(DOMNode$node, bool$deep = false): DOMNode|false
publicload(string$dosya, int$seçenekler = 0): bool
publicloadHTML(string$source, int$options = 0): bool
publicloadHTMLFile(string$dosya, int$seçenekler = 0): bool
publicloadXML(string$dizge, int$seçenekler = 0): bool
publicprepend(DOMNode|string...$nodes): void
publicregisterNodeClass(string$temelSınıf, ?string$türetilenSınıf): bool
publicsave(string$dosya, int$seçenekler = 0): int|false
publicsaveHTML(?DOMNode$düğüm = null): string|false
publicsaveXML(?DOMNode$düğüm = null, int$seçenekler = 0): string|false
publicschemaValidate(string$dosya, int$seçenekler = 0): bool
publicschemaValidateSource(string$şema, int$flags = 0): bool
publicvalidate(): bool
publicxinclude(int$seçenekler = 0): int|false
publicDOMNode::C14N(
    bool$özel = false,
    bool$aAçıklamalı = false,
    ?array$xpath = null,
    ?array$isim_alanları = null
): string|false
publicDOMNode::C14NFile(
    string$uri,
    bool$exclusive = false,
    bool$withComments = false,
    ?array$xpath = null,
    ?array$nsPrefixes = null
): int|false
publicDOMNode::cloneNode(bool$torunlar_dahil = false): DOMNode|false
publicDOMNode::isSupported(string$özellik, string$sürüm): bool
}

Özellikler

actualEncoding

Kullanımı önerilmiyor. encoding özelliğinin salt okunur eşdeğeri olarak belgenin asıl kodlaması.

childElementCount

Çocuk elemanların sayısı.

config

Kullanımı önerilmiyor. DOMDocument::normalizeDocument() çağrıldığında kullanılan yapılandırma.

doctype

Bu belgenin Belge Türü Bildirimi.

documentElement

İlk belge elemanı olarak DOMElement nesnesi. Böyle bir eleman yoksa değeri null olur.

documentURI

Belgenin bulunduğu yer; tanımlanmamışsa null'dur.

encoding

Belgenin XMl bildiriminde belirtilen karakter kodlaması. Bu öznitelik 3. seviye DOM belirtiminin son sürümünde yoktur, ancak bu gerçeklenimin XML belge kodlamasını bir yerde belirtmesi gerekiyordu ve tek yol buydu.

firstElementChild

İlk çocuk eleman ya da null.

formatOutput

Çıktı, girintiler ve ek boşluklarla daha hoş biçemlenir. Belge preserveWhitespace etkin olarak yüklenmişse bunun bir etkisi yoktur.

implementation

Belgenin elde edilmesinde kullanılan DOMImplementation nesnesi.

lastElementChild

Son çocuk eleman ya da null.

preserveWhiteSpace

Fazladan boşluklar silinmez. Ön tanımlı değer: true. Buna false atamakla DOMDocument::load()'a option olarak LIBXML_NOBLANKS atamak aynı etkiye sahiptir.

recover

Tescilli. Kurtarma kipini etkin kılar. Yani, iyi biçemli olmayan belgeler de çözümlenmeye çalışılır. Bu öznitelik DOM belirtiminin bir parçası değildir; libxml'e özgüdür.

resolveExternals

Bir belge türü bildirimindeki harici öğeleri yüklemek için true atayın. Karakter öğelerini XML belgeye dahil etmek için yararlıdır.

standalone

Kullanımı önerilmiyor. XML bildiriminde belirtildiği gibi, belgenin tek bir belgeden oluşup oluşmadığını belirtir. xmlStandalone özniteliğine karşılıktır.

strictErrorChecking

Hata durumunda DOMException oluşur. Ön tanımlı değer: true.

substituteEntities

Tescilli. Öğelerin ikame edilip edilmeyeceği. Bu öznitelik DOM belirtiminin bir parçası değildir; libxml'e özgüdür. Ön tanımlı değer: false.

Dikkat

Öğe ikamesi, XML Harici Öğe (XXE) saldırılarını kolaylaştırabilir.

validateOnParse

Belge DTD'ye uygun olarak doğrulanır ve yüklenir. Ön tanımlı değer: false.

Dikkat

DTD doğrulamasının etkinleştirilmesi, XML Harici Varlık (XXE) saldırılarını kolaylaştırabilir.

version

Kullanımı önerilmiyor. xmlVersion özelliğinin karşılığı olarak XML sürümü.

xmlEncoding

Belgenin karakter kodlaması olarak, XML bildiriminde belirtilen karakter kodlaması. Belgede belirtilmediğinde veya bilinmediğinde (örneğin, belge bellekte oluşturulmuşssa) değeri null'dur.

xmlStandalone

XML bildiriminde belirtildiği gibi, belgenin tek bir belgeden oluşup oluşmadığını belirtir. Belgede belirtilmemişse değeri null'dur.

xmlVersion

XML bildiriminde belirtildiği gibi, belgenin XML sürümü. Hiçbir bildirim yoksa ve belge XML'i destekliyorsa değer: "1.0".

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0DOMDocument artık DOMParentNode arayüzünü gerçekliyor.
8.0.0 Gerçeklenmemiş olan DOMDocument::renameNode() yöntemi kaldırıldı.

Notlar

Bilginize:

DOM eklentisi UTF-8 kodlama kullanır. Diğer kodlamalarla çalışmak için mb_convert_encoding(), UConverter::transcode() veya iconv() kullanılabilir.

Bilginize:

DOMDocument nesnesi üzerinde json_encode() işlevi kullanılırsa sonuç boş bir nesnenin kodlanması olacaktır.

İçindekiler

To Top