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 回答