2010-05-21 4 views
2
<?php            

    $books = array(); 
    $books [] = array(
    'title' => 'PHP Hacks', 
    'author' => 'Jack Herrington', 
    'publisher' => "O'Reilly"  
);        
    $books [] = array(   
    'title' => 'Podcasting Hacks', 
    'author' => 'Jack Herrington', 
    'publisher' => "O'Reilly"  
);        

    $doc = new DOMDocument();  
    $doc->formatOutput = true;  
    $r = $doc->createElement("books"); 
    $doc->appendChild($r);    
    foreach($books as $book)   
    {         
    $b = $doc->createElement("book"); 

    $author = $doc->createElement("author"); 
    $author->appendChild(
    $doc->createTextNode($book['author']) 
); 
    #$author->appendChild($doc->createTextNode('pavunkumar')); 
    $new = $doc->createElement("Developer"); 
    $a=$doc->createTextNode('I am developer '); 
    $new->appendChild($a); 
    $b->appendChild($author); 
    $b->appendChild($new); 
    $b->appendChild($new); 
    $title = $doc->createElement("title"); 
    $title->appendChild(
    $doc->createTextNode($book['title']) 
); 
    $b->appendChild($title); 
    $publisher = $doc->createElement("publisher"); 
    $publisher->appendChild(
    $doc->createTextNode($book['publisher']) 
); 
    $b->appendChild($publisher); 

    $r->appendChild($b); 
    } 
    echo $doc->SaveXml() ; 
    ?> 

이 코드를 명령 줄에서 실행할 때. 나는 웹 브라우저에서 코드를 실행하면 나는 그것이 나에게 다음과 같은 일PHP : Dom 객체 표시 및 xml 파일 만들기

Jack Herrington I am developer O'Reilly Jack Herrington I am developer O'Reilly 

내가 명령 줄 출력처럼 위 출력하고자을 제공합니다 다음과 같은 일

<?xml version="1.0"?> 
<books> 
    <book> 
    <author>Jack Herrington</author> 
    <Developer>I am developer </Developer> 
    <title>PHP Hacks</title> 
    <publisher>O'Reilly</publisher> 
    </book> 
    <book> 
    <author>Jack Herrington</author> 
    <Developer>I am developer </Developer> 
    <title>Podcasting Hacks</title> 
    <publisher>O'Reilly</publisher> 
    </book> 
</books> 

을 얻고있다. 그리고 한 가지 더 표시하는 대신, 어떻게 $ doc Dom 객체를 사용하여 xml 파일을 만들 수 있습니까?

답변

1

나는 정확하지만 같은 헤더를 전송하려고하지 않을 수 있습니다

Header("Content-Type: text/xml"); 

또는

Header("Content-Type: text/plain"); 

적절한 결과를 얻을 수 있습니다. . (물론 당신은

0

XML 코드를 PHP 파일 (HTML로 변환)로 출력하기 때문입니다. 소스 코드를 확인하면 원하는 출력이 표시됩니다. 커맨드 라인에서 얻은 것과 똑같은 것을 얻으려면 출력을 새로운 XML 파일에 저장해야합니다.

fopen을 사용하여 새 XML 파일을 만듭니다.