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);
War es hilfreich?

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
scroll top