php教程 php手册 PHP输出生成XML文件实例程序

PHP输出生成XML文件实例程序

May 25, 2016 pm 04:42 PM
PHP 출력 XML XML 파일 생성

在php中输出生成xml文件的方法有很多,有直接用header输入,也有使用DomDocument与SimpleXML实现创建xml文档的.

方法一,代码如下:

function xml_out($content, $charset = 'utf-8') { 
    @header("Expires: -1"); 
    @header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE); 
    @header("Pragma: no-cache"); 
    @header("Content-type: application/xml; charset=$charset"); 
    echo &#39;<&#39; . "?xml version=\"1.0\" encoding=\"$charset\"?>\n"; 
    echo "<root><![CDATA[" . trim($content) . "]]></root>"; 
    exit(); 
}
로그인 후 복사

方法二,代码如下:

<?php 
header("Content-type: text/xml"); 
echo "<?xml version=\"1.0\" encoding=\"UTF-8\""; 
echo "<users><user><name>小小菜鸟</name><age>24</age><sex>男</sex></user><user><name>艳艳</name><age>23</age><sex>女</sex></user></users>"; 
?>
로그인 후 복사

方法三:使用DomDocument生成XML文件

创建节点使用createElement方法,创建文本内容使用createTextNode方法,添加子节点使用appendChild方法,创建属性使用createAttribute方法,代码如下:

<?PHP 
$data_array = array( 
    array( 
    &#39;title&#39; => &#39;title1&#39;, 
    &#39;content&#39; => &#39;content1&#39;, 
        &#39;pubdate&#39; => &#39;2009-10-11&#39;, 
    ), 
    array( 
    &#39;title&#39; => &#39;title2&#39;, 
    &#39;content&#39; => &#39;content2&#39;, 
    &#39;pubdate&#39; => &#39;2009-11-11&#39;, 
    ) 
); 
 
//  属性数组 
$attribute_array = array( 
    &#39;title&#39; => array( 
    &#39;size&#39; => 1 
    ) 
); 
 
//  创建一个XML文档并设置XML版本和编码。。 
$dom=new DomDocument(&#39;1.0&#39;, &#39;utf-8&#39;); 
 
//  创建根节点 
$article = $dom->createElement(&#39;article&#39;); 
$dom->appendchild($article); 
 
foreach ($data_array as $data) { 
    $item = $dom->createElement(&#39;item&#39;); 
    $article->appendchild($item); 
 
    create_item($dom, $item, $data, $attribute_array); 
} 
 
echo $dom->saveXML(); 
 
function create_item($dom, $item, $data, $attribute) { 
    if (is_array($data)) { 
        foreach ($data as $key => $val) { 
            //  创建元素 
            $$key = $dom->createElement($key); 
            $item->appendchild($$key); 
 
            //  创建元素值 
            $text = $dom->createTextNode($val); 
            $$key->appendchild($text); 
 
            if (isset($attribute[$key])) {  //  如果此字段存在相关属性需要设置 
                foreach ($attribute[$key] as $akey => $row) { 
                    //  创建属性节点 
                    $$akey = $dom->createAttribute($akey); 
                    $$key->appendchild($$akey); 
 
                    // 创建属性值节点 
                    $aval = $dom->createTextNode($row); 
                    $$akey->appendChild($aval); 
                }
            }   //  end if 
        } 
    }   //  end if 
}   //  end function 
?>
로그인 후 복사

方法四:SimpleXML输入xml格式编码

SimpleXML作为PHP核心的组成部分,可以把XML转换为对象,但是有时候,我需要对输出的xml格式设置编码,代码如下:

$XML = new SimpleXMLElement("<foo />"); echo($XML->asXML());
 
//输出结果:<?xml version="1.0"?> <foo/>
 
//如果想输出,代码如下:<?xml version="1.0" encoding="UTF-8"?> <foo/>
로그인 후 복사


文章网址:

随意转载^^但请附上教程地址。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)