Вот мой XML:PHP и XML: Как получить атрибуты в XML
<?xml version="1.0" encoding="utf-8" ?>
<items>
<itemgroup name="ATM" column="1" sort="0">
<item formid="ATM 01" description="Option Teller Balance Sheet - ATM Dept. Ordering ONLY" unit="cello 500"/>
</itemgroup>
<itemgroup name="Data Processing" column="1">
<item formid="AACU 01" description="Receipt Voucher - 2 Part" unit="3600/box"/>
<item formid="AACU 04" description="Contract Collection Statement" unit="as Req."/>
<item formid="AACU 07" description="1-part Receipt Voucher - Cont. feed form" unit="5000/box"/>
<item formid="AACU 08" description="Share IRA Certificate" unit="2200/box"/>
<item formid="AACU 15" description="PTA PIN MAILER" unit="1800/box"/>
<item formid="AACU 15B" description="ONLINE ACCESS PIN MAILER" unit="2500/box"/>
</itemgroup>
</items>
Я знаю, что нужно использовать такой код, как это:
$xml_file = "aacu-data.xml";
$xml = simplexml_load_file($xml_file);
но то, что мне нужно знать, как я могу получить такие атрибуты, как описание и блок, например, где formid = «AACU 07», и иметь возможность назначать его двум переменным, таким как $ description и $ unit.
с некоторыми модификациями, которые я получил его на работу:
$xml_file = "aacu-data.xml";
$xml = simplexml_load_file($xml_file);
foreach($xml->itemgroup as $itemgroup) {
foreach($itemgroup->children() as $items) {
echo $items->attributes()->formid . "<br>";
echo $items->attributes()->description . "<br>";
echo $items->attributes()->unit . "<br>";
}
}:
Две вещи: (а), что если я не уверен, itemgro (а), как я могу сделать foreach, чтобы найти эту уникальную группу? –
В этом случае вы можете конвертировать объект xml в массив и использовать foreach с ключом. Пара значений – Haridarshan
Интересно. Мне удалось заставить цикл foreach работать, но он только вытаскивал первую строку из каждой группы элементов. Мне пришлось изменить его на то, что я добавил к моему первоначальному вопросу выше. –