CakeFest 2024: The Official CakePHP Conference

DOMDocumentFragment::appendXML

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

DOMDocumentFragment::appendXMLAjoute des données XML

Description

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

Ajoute des données XML brutes à un DOMDocumentFragment.

Cette méthode ne fait pas partie du standard DOM. Elle a été créée pour simplifier l'ajout d'un fragment XML dans un DOMDocument.

Si vous voulez respecter les standards, vous devez créer un DOMDocument temporaire avec une racine et parcourir les nœuds enfants de vos données XML pour les ajouter.

Liste de paramètres

data

XML à ajouter.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Ajout de données XML à votre document

<?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();
?>

L'exemple ci-dessus va afficher :

<?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