长时间搜索器…第一个帖子…我困. .
这是我的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;
}
编辑:我必须改变这个抱歉现在不是在测试环境中