автоматическое увеличение для simpleXML - PullRequest
1 голос
/ 20 января 2010

У меня есть скрипт simpleXML, создающий новые элементы в файле xml, но мне нужно, чтобы этот атрибут был идентификатором с автоматическим увеличением

например

<gig id="1">
        <date>December 19th</date>
        <venue>The Zanzibar</venue>
        <area>Liverpool</area>
        <telephone>Ticketline.co.uk</telephone>
        <price>£6</price>
        <time>Time TBA</time>   
    </gig>  

Верно, но когда я создаю новый элемент, идентификатор должен быть записан мной сам.

Мой код следующий

 $line1 = $sxe->addChild('gig');
    $line1->addChild('id', HERE HERE HERE!!!!!!);
    $line1->addChild('date', $day . " , " . $month . " , " . $year);
    $line1->addChild('venue', $venue);
    $line1->addChild('area', $area);
    $line1->addChild('Link', $link);
    $line1->addChild('Price', $price);

это говорит "ЗДЕСЬ ЗДЕСЬ ЗДЕСЬ !!!!!" Мне нужно добавить в id, может кто-нибудь помочь?

Кроме того, идентификатор должен следовать за наибольшим числом, так что, если самое последнее - 20, то новое должно быть 21

.

1 Ответ

2 голосов
/ 20 января 2010

Предполагая, что концерты находятся в массиве:

$num_gigs = count($gigs);
for ($i = 0; $i < $num_gigs; $i++)
{
    $line1 = $sxe->addChild('gig');
    $line1->addChild('id', $i);
    $line1->addChild('date', $day . " , " . $month . " , " . $year);
    $line1->addChild('venue', $venue);
    $line1->addChild('area', $area);
    $line1->addChild('Link', $link);
    $line1->addChild('Price', $price);

}
...