PHP Conference Nagoya 2025

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

DOMDocumentFragment::appendXMLAnexa dados XML brutos

Descrição

public DOMDocumentFragment::appendXML(string $data): bool

Anexa dados XML brutos a um DOMDocumentFragment.

Este método não faz parte do padrão DOM. Ele foi criado como uma abordagem mais simples para anexar um DOMDocumentFragment em um DOMDocument.

Se a intenção for seguir os padrões, será necessário criar um DOMDocument temporário com uma raiz fictícia e em seguida percorrer os nós filhos da raiz dos dados XML para anexá-los.

Parâmetros

data

XML a ser anexado.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Anexando dados XML ao seu documento

<?php
$doc
= new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo
$doc->saveXML();
?>

O exemplo acima produzirá:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
1
lpetrov(AT)axisvista.com
17 years ago
Here is (maybe) a better example:
/**
* Helper function for replacing $node (DOMNode)
* with an XML code (string)
*
* @var DOMNode $node
* @var string $xml
*/
public function replaceNodeXML(&$node,$xml) {
$f = $this->dom->createDocumentFragment();
$f->appendXML($xml);
$node->parentNode->replaceChild($f,$node);
}

Copied from the "PHP5 Dom Based Template" article at:
http://blog.axisvista.com/?p=35
up
0
Thanks to Christoph.
2 years ago
Strings such as " ' & < > may need to be escaped in advance.
In that case, you can use htmlspecialchars().
To Top