1

simplexmlを使用して、すべての子ノードを正常に読み取ります。しかし、どうすれば「NumCrds」を読むことができますか?

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

PHPマニュアルのどこかで読んだことがありますが、現在は見つかりません。

$my_num_cards=$sxe->ACCOUNT['NumCrds']; 

これは、ファイルに2、3などの値が含まれている場合でも、すべてのレコードの数値1を出力します。

4

3 に答える 3

3

配列インデックスを使用して属性にアクセスできます。

$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::attributes()関数を使用して、すべての属性のキーと値のペアのリストを返すこともできます。

$attributes = $xml->attributes();
echo $attributes['NumCrds'];
于 2010-12-15T04:51:23.977 に答える
0

$attrs = $el->attributes(); echo $attrs['NumCrds']または のみを使用しますecho $el['NumCrds']。属性は配列要素として反映され、サブタグはオブジェクト プロパティとして反映されます。

于 2010-12-15T04:57:09.967 に答える
0
$my_num_cards=$item->attributes()->NumCrds; 

これは私が探していたものです。ご助力いただきありがとうございます。

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

于 2010-12-15T05:27:11.493 に答える