2015-01-09 4 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"); 

요소의 이름이 실제로 lname하고 name는 당신이 어딘가에 정의해야합니다 네임 스페이스의 핸들입니다. 그렇다면 대신 createElementNS()을 사용해야합니다.

+0

그것은 효과가 있고 그것을 바르게 평가한다! – vidulaJ

1

당신이 namespaces으로 요소를 선언해야합니다 올바른 XML 파일을 만들려면 :

$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