XML URL into PHP Array


XML URL into PHP Array

长时间搜索器…第一个帖子…我困. .

这是我的xml链接的一个例子:

<response uri="/crm/private/xml/Deals/getRecords">  
  <result>
    <Deals>
      <row no="1">
        <FL val="DEALID">1338246000003618134</FL>
        <FL val="Deal Name">Again Holdings</FL>
      </row>
      <row no="2">
        <FL val="DEALID">1338246000003599435</FL>
        <FL val="Deal Name">Yankee Doodle</FL>
      </row>
......

我试图创建一个循环来检索"DEALID"answers"交易名称"。我在这个循环中取得了一些成功,获得了正确的记录计数:

<?php
$result = simplexml_load_file($xml_link) or die("Error: Cannot create object");
foreach($result->result->Deals->row as $row) {
   var_dump($row);
   echo "<br>NEXT ROW<br>";
}
?>

现在我找不到一种方法来提取每个记录的"DEALID"answers"交易名称"的值....如果你能帮我,那就太好了。

~一个有抱负的开发人员,但仍然是一个新手....

试试这个:

<?php
$result = simplexml_load_file($xml_link) or die("Error: Cannot create object");
$newArray = [];
foreach($result->result->Deals->row as $row) {
   $newRow = [];
   foreach($row as $key => $value) {
       $newRow[$key] = $value;
    }
    $newArray[] = $newRow;
}
?>

对代码的畏缩是真实的,但有时它会变得草率…但它是有效的....我打算马上试试Xanfars上面的建议。

<?php
$xml_link = "https://not_the_link.xml )";
$result = simplexml_load_file($xml_link) or die("Error: Cannot create object");
$Project_Name = array();
$Project_ID = array();
$record_count = 0;
foreach($result->result->Deals->row as $row) {
	$fl_count = 0;	
	foreach($row->FL as $record) {
		if ($fl_count == 0){
			$Project_ID[$record_count] = $record;
		}
		if ($fl_count == 1){
			$Project_Name[$record_count] = $record;	
		}
		$fl_count=1;
	}
	echo 'Project Name : '.$Project_Name[$record_count].'<br>';
	echo 'Project ID : '.$Project_ID[$record_count].'<br>-------------------<br>';
	$record_count = $record_count+1;
}
Echo $record_count;
?>

看看这样是否更好:)

$result = simplexml_load_file($xml_link) or die("Error: Cannot create object");
$newArray = [];
foreach($result->result->Deals->row as $row) {
   $newRow = [];
   foreach($row as $value) {
       $key = $value->attributes();
       $newRow[$key->val] = $value;
    }
    $newArray[] = $newRow;
}

编辑:我必须改变这个抱歉现在不是在测试环境中