PHP Doku:: Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten - function.simplexml-import-dom.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzXML-ManipulationSimpleXMLSimpleXML-Funktionensimplexml_import_dom

Ein Service von Reinhard Neidl - Webprogrammierung.

SimpleXML-Funktionen

<<SimpleXML-Funktionen

simplexml_load_file>>

simplexml_import_dom

(PHP 5)

simplexml_import_domErzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten

Beschreibung

SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

Die Funktion wandelt einen Knoten eines DOM-Dokuments in einen SimpleXML-Knoten. Das neue Objekt kann wie ein normales SimpleXML-Element verwendet werden.

Parameter-Liste

node

Ein DOM-Element-Knoten.

class_name

Sie können diesen optionalen Parameter verwenden, damit simplexml_import_dom() ein Objekt der angegebenen Klasse zurückgibt. Diese Klasse sollte die SimpleXMLElement-Klasse erweitern.

Rückgabewerte

Gibt ein SimpleXMLElement zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 DOM Import

<?php
$dom 
= new DOMDocument;
$dom->loadXML('<buecher><buch><titel>blah</titel></buch></buecher>');
if (!
$dom) {
    echo 
'Fehler beim Parsen des Dokuments';
    exit;
}

$s simplexml_import_dom($dom);

echo 
$s->buch[0]->titel// blah
?>

Siehe auch


2 BenutzerBeiträge:
- Beiträge aktualisieren...
peter-SPAMrubbish-ATveridon.com
6.03.2008 8:06
Something that surprised me, any changes made to the SimpleXML object obtained from the imported DOMDocument also change the original DOMDocument.

e.g.

<?php

$string
= '<root><foo>abc</foo></root>';
$domxml = DOMDocument::loadXML($string);
$simplexml = simplexml_import_dom($domxml);
$simplexml->foo = "xyz";
$simplexml->bar = "123";
echo
$domxml->saveXML();

?>
Outputs:

--START--
<?xml version="1.0"?>
<root><foo>xyz</foo><bar>123</bar></root>
spam AT media MINUS soma DOT de
26.07.2006 18:27
Please note that a valid SimpleXMLElement is typecasted to false.

<?php

    $string
= '<root><foo>abc</foo></root>';
   
$xml = DOMDocument::loadXML($string);
   
$xml = simplexml_import_dom($xml);
    echo
'simplexml_import_dom';
   
var_dump($xml);
   
var_dump((bool)$xml);

   
$xml = simplexml_load_string('<root><foo>abc</foo></root>');
    echo
'simplexml_load_string';
   
var_dump($xml);
   
var_dump((bool)$xml);

   
$xml = simplexml_load_file('test.xml');
    echo
'simplexml_load_file';
   
var_dump($xml);
   
var_dump((bool)$xml);

?>

Outputs:

--START--
simplexml_import_dom

object(SimpleXMLElement)[2]
  public 'foo' => 'abc'

false

simplexml_load_string

object(SimpleXMLElement)[1]
  public 'foo' => 'abc'

false

simplexml_load_file

object(SimpleXMLElement)[2]
  public 'foo' => 'abc'

false
--END--



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)