XML DOM PHP 中的结构

XML DOM structure in PHP

如何在 PHP 中实现以下 XML DOM 结构?

你能帮我解决这个问题吗?非常感谢任何建议和帮助。

编辑
我附上了尝试的代码。它不起作用,我不知道如何像上面附加的那样打破它。

这不是它的工作原理:

$doc->createElement("name:lname");

元素的名称实际上是lnamename是命名空间的句柄,您一定在某处定义了它。那么你需要使用 createElementNS() 来代替。

要创建 正确的 XML 文件,您必须将元素声明为 namespaces:

$employees   = array();
$employees[] = array('name' => 'Albert', 'age' => 34, 'salary' => 10000, 'lname' => 'Vidula');

$dom = new DOMDocument('1.0', 'utf-8');

$domEmployees = $dom->createElement('employees');

foreach($employees as $employee)
{
    $domEmployee = $dom->createElement('employee');

    $domEmployee->appendChild($dom->createElementNS('http://www.w3.org/1999/xhtml', 'name:fname', $employee['name']));
    $domEmployee->appendChild($dom->createElementNS('http://www.w3.org/1999/xhtml', 'name:lname', $employee['lname']));
    $domEmployee->appendChild($dom->createElement('age', $employee['age']));
    $domEmployee->appendChild($dom->createElement('salary', $employee['salary']));

    $domEmployees->appendChild($domEmployee);
}


$dom->appendChild($domEmployees);

echo $dom->saveXML();

输出:

<?xml version="1.0" encoding="utf-8"?>
<employees xmlns:name="http://www.w3.org/1999/xhtml">
    <employee xmlns:name="http://www.w3.org/1999/xhtml">
       <name:fname xmlns:name="http://www.w3.org/1999/xhtml">Albert</name:fname>
       <name:lname xmlns:name="http://www.w3.org/1999/xhtml">Vidula</name:lname>               
       <age>34</age>
       <salary>10000</salary>
    </employee>
</employees>