PHP SimpleXML如何访问数据

时间:2015-10-19 15:01:32

标签: php simplexml

我有一个XML但我似乎无法访问任何节点。

当我使用下面的代码时,我可以看到它正在拾取数据,但我似乎无法单独访问节点。

$xml=simplexml_load_file("uploads/" . $fileName) or die("Error: can't create     object");
echo'<pre>';
print_r($xml);
echo'</pre>';

这是一个示例记录。

<CONSOLIDATED_LIST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<INDIVIDUALS>
<INDIVIDUAL   xsi:noNamespaceSchemaLocation="">
<DATAID>110404</DATAID>
<VERSIONNUM>1</VERSIONNUM>
<FIRST_NAME>MOHAMMAD BAQER</FIRST_NAME>
<SECOND_NAME>ZOLQADR</SECOND_NAME>
<UN_LIST_TYPE>Iran</UN_LIST_TYPE>
<REFERENCE_NUMBER>IRi.043</REFERENCE_NUMBER>
<LISTED_ON>2007-03-24</LISTED_ON>
<COMMENTS1>[Old Reference # I.47.D.7]</COMMENTS1>
<DESIGNATION>
<VALUE>General/IRGC officer</VALUE>
<VALUE>Deputy Interior Minister for Security Affairs</VALUE>
</DESIGNATION>
<LIST_TYPE>
<VALUE>UN List</VALUE>
</LIST_TYPE>
<LAST_DAY_UPDATED>
<VALUE>2014-12-17</VALUE>
</LAST_DAY_UPDATED>
<INDIVIDUAL_ALIAS>
<QUALITY>Good</QUALITY>
<ALIAS_NAME>
Mohammad Bakr Zolqadr; Mohammad Bakr Zolkadr; Mohammad Baqer Zolqadir;     Mohammad Baqer Zolqader
</ALIAS_NAME>
</INDIVIDUAL_ALIAS>
<INDIVIDUAL_ADDRESS/>
<INDIVIDUAL_DATE_OF_BIRTH/>
<INDIVIDUAL_PLACE_OF_BIRTH/>
<INDIVIDUAL_DOCUMENT/>
<SORT_KEY>Zolqadr</SORT_KEY>
<SORT_KEY_LAST_MOD>2014-06-18</SORT_KEY_LAST_MOD>
</INDIVIDUAL>

我需要访问每个值,空白或其他,并将它们放入变量。

我在这里尝试各种代码是一个非常基本的例子,但我似乎无法访问数据

 foreach($xml->children() as $child)
 {
 echo $child->individuals->individual->dataid;
 }

1 个答案:

答案 0 :(得分:1)

您可以遍历INDIVIDUALS数组并访问此成员对象

foreach($xml->INDIVIDUALS->INDIVIDUAL as $node){
    echo $node->DATAID . PHP_EOL;
}