Я понял, как создать объект DOM для XML с помощью следующего кода (его часть):
$xml_item = $xml->createElement('item');
$xml_location = $xml->createElement('location');
$xml_item->setAttribute('item-id', 'abcd');
$xml_item->appendChild($xml_location);
$xml_location->setAttribute('location-id', '1234');
$xml_location->appendChild($xml_quantity);
$xml_quantity = $xml->createElement('quantity', '0');
Дает:
<item item-id="abcd">
<location location-id="1234">
<quantity>0</quantity>
</location>
</item>
Я хочу продолжать добавлять элементы с различными атрибутами, чтобы получить что-то вроде этого:
<item item-id="abcd">
<location location-id="1234">
<quantity>99</quantity>
</location>
</item>
<item item-id="qwer">
<location location-id="1234">
<quantity>55</quantity>
</location>
</item>
Но мне трудно понять это. Как использовать одну и ту же переменную $ xml_item для создания нескольких записей элемента «item» с другим атрибутом, как указано выше (например, abcd и qwer)? Кажется, перезаписывается первый, когда я создаю другой $ xml_item-> setAttribute ('item-id', 'qwer') после создания "abcd".
Должен ли я создать несколько копий "$ xml_item" с разными именами переменных (например, $ xml_item1, _item2 и т. Д., Но это кажется неоправданно утомительным) или я могу каким-то образом повторно использовать одну и ту же переменную ($ xml_item) для создания нескольких записей ? Идея состоит в том, чтобы создать столько элементов «item», сколько мне нужно, с разными атрибутами.