2015-01-09 175 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