Save array as xml

前端 未结 3 1880
再見小時候
再見小時候 2021-01-13 06:55
array(
name => text,
surname => text,
country => text,
date => text
)

1) How can I save this array to file as xml file?

相关标签:
3条回答
  • 2021-01-13 07:33

    Using SimpleXML

    for #1 (as in How to convert array to SimpleXML)

    <?php
      $xml = new SimpleXMLElement('<root/>');
      array_walk_recursive($test_array, array ($xml, 'addChild'));
      print $xml->asXML("file.xml");
    

    for #2

    $xml_data_as_object = simplexml_load_file("file.xml")
    

    returns an object representation of the xml data.

    convert the object to an array with:

    $xml_data_as_array = array();
    foreach ($xml_data->root as $children) {
       $xml_data_as_array[] = array(
         "name" => $children->name,
         "surname" => $children->surname,
         "country" => $children->country,
         "date" => $children->date
      );
    }
    
    0 讨论(0)
  • 2021-01-13 07:37
    // save
    $doc = new DOMDocument('1.0');
    $doc->formatOutput = true;
    $root = $doc->createElement('root');
    $root = $doc->appendChild($root);
    foreach($arr as $key=>$value)
    {
       $em = $doc->createElement($key);       
       $text = $doc->createTextNode($value);
       $em->appendChild($text);
       $root->appendChild($em);
    
    }
    $doc->save('file.xml');
    // load
     $arr = array();
     $doc = new DOMDocument();
     $doc->load('file.xml');
     $root = $doc->getElementsByTagName('root')->items[0];
     foreach($root->childNodes as $item) 
     { 
       $arr[$item->nodeName] = $item->nodeValue;
     }
    
    0 讨论(0)
  • 2021-01-13 07:38

    Take a look at the Pear module XML::Serializer -- which also includes XML::Unserializer.

    http://pear.php.net/package/XML_Serializer/

    http://articles.sitepoint.com/article/xml-php-pear-xml_serializer

    0 讨论(0)
提交回复
热议问题