konvertieren assoziatives Array zu XML in PHP
-
20-09-2019 - |
Frage
Wie kann ich ein assoziatives Array in eine XML-Zeichenfolge zu konvertieren? Ich diese aber den Fehler ‚Call auf eine Elementfunktion addChild () auf einem nicht-Objekt‘ beim laufen der Zeilen
erhalten$node = $xml->addChild($key);
Lösung
Verwenden Sie die PHP Document Object Model :
$xml = new DOMDocument('1.0', 'utf-8');
$root = $xml->createElement('top');
$xml->appendChild($root);
foreach ($arr as $k => $v) {
$node = $xml->createelement($k);
$text = $xml->createTextNode($v);
$node->appendChild($text);
$root->appendChild($node);
}
echo $xml->saveXml();
Andere Tipps
Haben initialisieren Sie die $ XML-Objekt? Das ist wahrscheinlich das Problem.
Es ist ziemlich ähnlich, wie man so etwas tun würde:
while($row = mysql_fetch_assoc($result))
Sie können nicht mehr als $ Ergebnis als Array verwenden, aber Sie können die verschiedenen Einträge foreach oder während durch.
PEAR XML_Serialize ist ziemlich gut, wenn man eine einfache Lösung wollen. das DOM manuell zu tun, ist wohl schneller.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow