как дать индекс массива именованный ключ во время выполнения

Здесь я пытаюсь использовать класс XMLSerializer для преобразования данных из таблицы MySQL в файл XML. Я хочу, чтобы файл XML был таким

введите описание изображения здесь

Для этого мне нужно изменить числовые индексы на ‘book’. В настоящее время я могу сгенерировать массив следующей формы: он имеет числовую индексацию, но для моей цели оба индекса (0 и 1) должны быть ‘book’ ,

введите описание изображения здесь

Как я могу изменить оба числовых индекса, чтобы быть «книга» ??

ПОЛНЫЙ КОД:

   include('XMLSerializer/XML/Serializer.php');
$host='localhost';
$user='root';
$pass='';
$db='xmlserializer';

$dbh=new PDO("mysql:host=$host;dbname=$db",$user,$pass);
$sql='SELECT lname,fname FROM employee';
$sth=$dbh->prepare($sql);
$sth->execute();

$xml=array('library'=>array());

$i=0;
while($result=$sth->fetch(PDO::FETCH_ASSOC)){
array_push($xml['library'],$result);

}
print_r($xml);
$serializer=new XML_Serializer();


$result=$serializer->serialize($xml);
if($result===true){
file_put_contents('myxml.xml',$serializer->getSerializedData());
}

2

Решение

Вам нужно установить default tag в тебе XML_Serializer:

Итак, ваш код должен быть:

$options = array(
"defaultTagName"  => "book",
);

$serializer = new XML_Serializer($options);

Проверьте эту ссылку для получения дополнительной информации: https://pear.php.net/manual/en/package.xml.xml-serializer.xml-serializer.examples.php

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]