2014-10-28 2 views
0

Я написал XML-парсер для чтения XML-файла. XML-файл не является моим, поэтому я не могу изменить структуру. Все отлично работает, пока я не добрался до этой особой точки. Я хочу прочитать значение, но у меня нет ключа для доступа к этому значению. Я отметил значения (красным) на скриншоте, ниже которого я хочу получить доступ.Как получить определенное значение массива из файла XML?

enter image description here

Когда я свалка родительский элемент (PRAT-> VALUE) я получаю это в ответ:

object(SimpleXMLElement)#31 (3) { ["@attributes"]=> array(5) { ["nr"]=> string(1) "1" ["unit"]=> string(3) "bar" ["unit_id"]=> string(4) "3103" ["vo"]=> string(0) "" ["vo_id"]=> string(0) "" } [0]=> string(2) "20" [1]=> string(1) "2" } 

Как видно, в конце дампа значения, которые я хотите получить доступ. Я пытался получить доступ к нему, как массив, но это не работает. Значения не являются атрибутами .

ответ

1

использовать (String) ключевое слово перед ним.

например.

echo (String) PRAT->VALUE; 
+0

HA! Это работает! Спасибо! Можете ли вы объяснить, почему дамп показывает массив и почему я должен преобразовать его в строку? – emha

+0

, поскольку он говорит, что возвращает объект (SimpleXMLElement), а не строку. (String) преобразует значение в String – Vivek