我正在尝试在 php 中创建一个 ArrayToXML 转换器。
我有这个代码:
function assocArrayToXML($root_element_name,$ar) {
$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><{$root_element_name}></{$root_element_name}>");
$f = create_function('$f,$c,$a','
foreach($a as $k=>$v) {
if(is_array($v)) {
$ch=$c->addChild($k);
$f($f,$ch,$v);
} else {
$c->addChild($k,$v);
}
}');
$f($f,$xml,$ar);
return $xml->asXML();
}
来自http://php.net/manual/es/book.simplexml.php
我遇到的问题是这一行:
$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><{$root_element_name}></{$root_element_name}>");
因为字符串有“?>”,而 php 的“thinks”是 php 标签的结尾。
如何在 php 字符串中写入这两个字符?