PHPオブジェクトをXMLに変換する方法


  1. SimpleXMLを使用する方法:

    $obj = new stdClass();
    $obj->name = "John";
    $obj->age = 30;
    $xml = new SimpleXMLElement('<root/>');
    array_walk_recursive((array)$obj, array($xml, 'addChild'));
    echo $xml->asXML();
  2. XMLWriterを使用する方法:

    $obj = new stdClass();
    $obj->name = "John";
    $obj->age = 30;
    $xml = new XMLWriter();
    $xml->openMemory();
    $xml->startDocument('1.0', 'UTF-8');
    $xml->startElement('root');
    foreach($obj as $key => $value) {
    $xml->startElement($key);
    $xml->text($value);
    $xml->endElement();
    }
    $xml->endElement();
    echo $xml->outputMemory(true);
  3. DOMDocumentを使用する方法:

    $obj = new stdClass();
    $obj->name = "John";
    $obj->age = 30;
    $dom = new DOMDocument('1.0', 'UTF-8');
    $root = $dom->createElement('root');
    $dom->appendChild($root);
    foreach($obj as $key => $value) {
    $element = $dom->createElement($key);
    $element->appendChild($dom->createTextNode($value));
    $root->appendChild($element);
    }
    $dom->formatOutput = true;
    echo $dom->saveXML();

これらの方法を使用することで、PHPのオブジェクトをXMLに変換することができます。それぞれの方法は、異なるXML操作ライブラリを使用していますが、どれも効果的にオブジェクトをXMLに変換することができます。選択する方法は、使用しているライブラリや個人の好みによって異なります。