繁体   English   中英

如何将php数组转换为xml

[英]how to convert php array to xml

我有如下的PHP数组

$row = array (
  'name' => 'david',
 'bio' => 'good man'
 );

我想将此数组转换为相应的XML页面,如以下情况。

 <?xml version="1.0" encoding="UTF-8"?>
 <note>
   <name>david</name>
   <bio>good man</bio>
</note>

尝试这样。

   $xml = new SimpleXMLElement('<note/>');
   $row = array_flip($row);
   array_walk_recursive($row, array ($xml, 'addChild'));
   echo htmlentities($xml->asXML());

使用DOM生成XML:

$row = array (
  'name' => 'david',
  'bio' => 'good man'
);

$dom = new DOMDocument();
$dom->formatOutput = TRUE;

$note = $dom->appendChild($dom->createElement('note'));
foreach ($row as $name => $value) {
  $note
    ->appendChild($dom->createElement($name))
    ->appendChild($dom->createTextNode($value));
}

echo $dom->saveXml(); 

输出:

<?xml version="1.0"?>
<note>
  <name>david</name>
  <bio>good man</bio>
</note>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM