CakeFest 2024: The Official CakePHP Conference

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 você deseja seguir os padrões, precisará criar um DOMDocument temporário com uma raiz fictícia e em seguida percorrer os nós filhos da raiz dos seus 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>

add a note

User Contributed Notes 2 notes

up
1
lpetrov(AT)axisvista.com
16 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.
1 year ago
Strings such as " ' & < > may need to be escaped in advance.
In that case, you can use htmlspecialchars().
To Top