2015-01-09 121 views
0

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

XML structure

能否请你帮我这个?任何建议,非常感谢帮助。

编辑
我附上了试图编码。它不起作用&我不知道我能如何破解,就像我上面附上的那样。

enter image description here

+0

是否已进行了所有的尝试吗?你可以展示一些代码和你遇到问题的地方吗? –

+0

您可以使用XML库或数组数组。 – kainaw

+0

@Mike Brant:查看编辑后的问题。 – vidulaJ

回答

1

这不是它的工作原理:

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

元素的名称实际上是lnamename是命名空间,你一定是什么地方规定的手柄。那么你需要使用createElementNS()来代替。

+0

它的工作和欣赏! – vidulaJ

1

要创建正确 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> 
+0

它工作得很好,很感激! – vidulaJ