DOMDocument::adoptNode

(PHP >= 8.3)

DOMDocument::adoptNode β€” ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ ΡƒΠ·Π΅Π» ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

ОписаниС

public function DOMDocument::adoptNode(DOMNode $node): DOMNode|false

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ ΡƒΠ·Π΅Π» Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

node

Π£Π·Π΅Π» для пСрСноса.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠ·Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» пСрСнСсён ΠΈΠ»ΠΈ false Π² случаС возникновСния ошибки.

Ошибки

ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ DOMException со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ ошибок:

DOM_NOT_SUPPORTED_ERR

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли Ρ‚ΠΈΠΏ ΡƒΠ·Π»Π° Π½Π΅ поддСрТиваСтся для пСрСноса Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° DOMDocument::adoptNode()

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ элСмСнта hello ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

<?php
$doc1
= new DOMDocument;
$doc1->loadXML("<container><hello><world/></hello></container>");
$hello = $doc1->documentElement->firstChild;

$doc2 = new DOMDocument;
$doc2->loadXML("<root/>");
$doc2->documentElement->appendChild($doc2->adoptNode($hello));

echo
$doc1->saveXML() . PHP_EOL . PHP_EOL;
echo
$doc2->saveXML();
?>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

<?xml version="1.0"?>
<container/>

<?xml version="1.0"?>
<root><hello><world/></hello></root>

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • DOMDocument::importNode() - Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π» Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
0
Anonymous ΒΆ
1 year ago
Note that this function will remove the node from the original XML document