Я просматриваю различные статьи, как сделать XML из массива PHP.SimpleXML помещает id в закрывающий тег
Получил его на работу, используя две статьи отсюда, используя SimpleXML и цикл.
Я использовал это:
function array_to_xml($data, $xml_data) {
foreach($data as $key => $value) {
if(is_numeric($key)){
$key = 'point id="'.$key.'"'; //dealing with <0/>..<n/> issues
}
if(is_array($value)) {
$subnode = $xml_data->addChild($key);
array_to_xml($value, $subnode);
} else {
$xml_data->addChild("$key",htmlspecialchars("$value"));
}
}
}
и делает вид работы в настоящее время.
Дело в том, что я использую многомерные массивы для отправки списков статей. Вы могли догадаться, что
<article id="sth">bla</article>
- это вещь. Проблема заключается в том, что эта функция включает в себя идентификатор в закрывающих тегов, так что все выглядит так:
<article id="a-1-0">Example of Naming</article id="a-1-0">
, что делает открытие и чтение их (также с помощью SimpleXML) невозможно.
Есть ли способ настроить SimpleXML не создавать идентификатор в закрывающих тегах? Thx заранее, любая помощь имеет большую ценность.
EDIT:
Кодекс-Отрывок выше имеет дело с точечными метками. Те же проблемы Там они выглядят как
<point id="0">[...]</point id="0">
Разве вы не используете 'addAttribute (« $ key », htmlspecialchars (« $ value »)) вместо этого? – Rimble