[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: xml Динамическое чтение атрибутов
Kusss
Бьюсь уже несколько часов, и не фига не получается. Помогите разобраться
У меня в xml вот такие атрибуты (см. файл )
 <Address>
<adrs:OKATO>
45263594000</adrs:OKATO>
<adrs:KLADR>
77000000000318700</adrs:KLADR>
<adrs:Region>
77</adrs:Region>
<adrs:Street
Name="Электрозаводская" Type="ул" />
<adrs:Level1
Type="д" Value="29" />
<adrs:Level3
Type="строен" Value="1" />
</Address>


и кусочек кода, где я пытаюсь собрать адрес, если его нет целиком
<?php
$file = 'test.xml';

$data = simplexml_load_file($file);

$Address = $data->Realty->Building->Address->children('adrs', TRUE);

if (!isset($Address->Note)) {

$adress_array = [
'Street' => 'Name',
'Level1' => 'Value',
'Level2' => 'Value',
'Level3' => 'Value',
];

$note = [];
foreach ($Address AS $key=>$val){
if (array_key_exists($key, $adress_array)) {

$attrValue = $val->attributes()->Value;

if ($key == 'Street') {
// Это рабочий вариант
//$attrValue = $val->attributes()->Name;

// Это не рабочий вариант
// как прописать динамический ?

$attrValue = $val[ $adress_array[$key] ];
}
$note[] = (string)$val->attributes()->Type.". ". (string)$attrValue;

}
}


// И это кстати тоже не хочет работать
$Address->addChild('Note', implode(' ',$note));
print_r($Address);

echo $Address->Note."\n";

}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.