чтение первого значения с использованием simplexml - PullRequest
1 голос
/ 15 декабря 2010

Я использую simplexml для успешного чтения всех дочерних узлов.Но как мне прочитать «NumCrds»?

<ACCOUNT NumCrds="1">
<ACCNO>some Bank</ACCNO>
<CURRCODE>CAD</CURRCODE>
<ACCTYPE>00</ACCTYPE>
</ACCOUNT>

Я читал его где-то в руководстве по PHP, но сейчас не могу его найти.номер 1 для всех записей, даже если в файле есть такие значения, как 2, 3.

Ответы [ 3 ]

3 голосов
/ 15 декабря 2010

Атрибуты могут быть доступны с помощью индексов массива:

$data = '<ACCOUNT NumCrds="1">
<ACCNO>some Bank</ACCNO>
<CURRCODE>CAD</CURRCODE>
<ACCTYPE>00</ACCTYPE>
</ACCOUNT>
';
$xml = new SimpleXMLElement($data);

// this outputs 1
echo $xml['NumCrds'];

Можно также использовать функцию SimpleXMLElement :: attribute () , чтобы получить список всех пар ключ / значение атрибута.

$attributes = $xml->attributes();
echo $attributes['NumCrds'];
0 голосов
/ 15 декабря 2010
$my_num_cards=$item->attributes()->NumCrds; 

Это то, что я искал.Спасибо за вашу помощь.

http://fr.php.net/manual/en/simplexmlelement.attributes.php#94433

0 голосов
/ 15 декабря 2010

Используйте либо $attrs = $el->attributes(); echo $attrs['NumCrds'], либо просто echo $el['NumCrds']. Атрибуты отражаются как элементы массива, а под-теги отражаются как свойства объекта.

...