Czy istnieje jakiś bardziej elegancki sposób na uniknięcie atrybutów SimpleXML w tablicy?Atrybuty SimpleXML do tablicy
$result = $xml->xpath($xpath);
$element = $result[ 0 ];
$attributes = (array) $element->attributes();
$attributes = $attributes[ '@attributes' ];
Nie chcę tego używać, aby wyodrębnić parę klucz/wartość. Wszystko, czego potrzebuję, to wprowadzić ją do tablicy, a następnie przekazać dalej. Pomyślałem, że domyślnie zrobiłby to attributes()
lub przynajmniej podał opcję. Ale nigdzie nie mogłem znaleźć powyższego rozwiązania, musiałem sam to sobie wyobrazić. Czy to przez komplikowanie tego czy coś takiego?
Edit:
Nadal używam powyższy skrypt, dopóki nie wiemy na pewno, czy dostępu do tablicy @attributes jest bezpieczne, czy nie.
Tak, ale problem polega na tym, że nadal uważa się za element SimpleXML i dlatego musiałbyś typować "$ attr ['a']" na łańcuch, aby działał poprawnie. Przekazuję tę tablicę do innej klasy, która nie wie, jaki typ ma być, ale musi to być tablica. – mseancole
Ach, masz to w edytorze ... Czy pętla jest "lepsza" niż ta, którą obecnie robię? Myślę, że zrobienie tego bez pętli byłoby szybsze. – mseancole
@showerhead: Nie wiem, czy jest lepiej, ale zawsze nauczyłem się nie czytać bezpośrednio właściwości @ atrybutów. –