【发布时间】:2016-10-27 03:05:16
【问题描述】:
您好,我在网上找到了以下代码,它创建并添加数据到 xml 文件:
public function index()
{
$html = "";
try {
$employees = array();
$employees [] = array(
'name' => 'Albert',
'age' => '34',
'salary' => "$10000"
);
$employees [] = array(
'name' => 'Claud',
'age' => '20',
'salary' => "$2000"
);
$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->documentElement->firstChild;
$doc->appendChild( $r );
foreach( $employees as $employee )
{
$b = $doc->createElement( "employee" );
$name = $doc->createElement( "name" );
$name->appendChild(
$doc->createTextNode( $employee['name'] )
);
$b->appendChild( $name );
$age = $doc->createElement( "age" );
$age->appendChild(
$doc->createTextNode( $employee['age'] )
);
$b->appendChild( $age );
$salary = $doc->createElement( "salary" );
$salary->appendChild(
$doc->createTextNode( $employee['salary'] )
);
$b->appendChild( $salary );
$r->appendChild( $b );
}
$doc->save(".." . DIRECTORY_SEPARATOR . "storage" . DIRECTORY_SEPARATOR . "logs" . DIRECTORY_SEPARATOR . "employees.xml") ;
return response()->json();
}
catch (\Exception $e)
{
return response()->json(
[
"message" => $e->getMessage(),
"status_code" => $e->getCode(),
"data" => []
]);
}
}
这是输出:
<?xml version="1.0"?>
<employees>
<employee>
<name>Albert</name>
<age>34</age>
<salary>$10000</salary>
</employee>
<employee>
<name>Claud</name>
<age>20</age>
<salary>$2000</salary>
</employee>
</employees>
但是,当我再次运行代码时,它会给出相同的输出。我希望将新输出附加到 xml 文件中的先前数据,以便我有这个:
<?xml version="1.0"?>
<employees>
<employee>
<name>Albert</name>
<age>34</age>
<salary>$10000</salary>
</employee>
<employee>
<name>Claud</name>
<age>20</age>
<salary>$2000</salary>
</employee>
<employee>
<name>Albert</name>
<age>34</age>
<salary>$10000</salary>
</employee>
<employee>
<name>Claud</name>
<age>20</age>
<salary>$2000</salary>
</employee>
</employees>
【问题讨论】: