Я пытаюсь проанализировать XML-документ в php, что несколько сложно, потому что XML состоит из объектов внутри объектов.Вот xml:
<Bars>
<Bar>
<BarName>the bar name</BarName>
<bar_id>0</bar_id>
<Bartenders>
<Bartender><fname>a first name</fname><lname>a last name</lname><imageURL>an image url</imageURL><shift>2</shift></Bartender>
</Bartenders>
<Events>
<Event><EventName> event</EventName><date>08/10/1989</date></Event>
</Events>
<Specials>
<Special> Special 1</Special><Special> Special 2</Special>
</Specials>
</Bar>
Очевидно, что есть несколько таких 'bar' объектов в элементе bars xml.Я пытаюсь понять, как это сделать, - проанализировать этот файл, сохранить его содержимое в массиве, обновить массив с помощью пользовательского ввода из приложения iOS и, наконец, записать XML обратно на страницу.Проблема, с которой я столкнулся, заключается в том, как я могу сохранить несколько объектов «бармен», «событие» и «специальные» в массивы для соответствующей панели?Я должен буду создать массив bartender в массиве foreach правильно?Нужно ли создавать барный класс, в котором размещаются бармены, события и специальные массивы?
На данный момент приведен фрагмент моего php-кода:
$bars = $doc->getElementsByTagName("Bar");
foreach($bars as $bar)
{
$barNames = $bar->getElementsByTagName("BarName");
$barName = $barNames->item(0)->nodeValue;
array_push($barNameArray, $barName);
echo "<b>barName:$barName</b><br>";
}
$barsArray = array();
//make any updates to the arrays as needed
for($i = 0; $i < count($barNameArray); $i++) // write an array of bar objects from the arrays created above
Как видите, японять это довольно легко, если это только один тип элемента на бар.Я ничего не могу жестко закодировать, потому что я не буду знать, сколько барменов, баров, спецпредложений и т. Д. Публикуется в данное время ... Спасибо за вашу помощь.