Home >php教程 >php手册 >php生成xml实例与基础知识

php生成xml实例与基础知识

WBOY
WBOYOriginal
2016-05-25 16:42:101154browse

下面给大家普及一篇关于php生成xml实例与基础知识文章,这个操作很简单我们介绍了xml是什么及xml特点,希望例子对各位有帮助.

1、XML,Extensible Markup Language(可扩展标记语言),是一种可以创建自定义标记符号(Tags)的标记语言,是用于表示结构化信息的一种标准文本格式,作为下一代数据交换格式的标准,和HTML一样,XML基于标准通用标记语言(Standard Generalized Markup Language,SGML),文档结构,层次非常清晰,xml文档只是存储了数据,是很有规律的结构化文档,但没有定义如何显示这些数据,文档结构可称为"文档树",主干是顶层的父元素,分支和叶是子元素.

xml声明,表示文档遵循的是xml的1.0版的规范.

2、xml特点:

可扩展性,xml允许使用者创建和使用他们自己的标记而不是HTML的有限标签,企业可以用XML为电子商务和供应链集成等应用定义自己的标记语言,甚至特定行业一起来定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础,不过,这些自定义标记仅仅是用来识别信息数据的,它本身并不传达信息.

灵活性,xml更像一个小型的数据库,提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据.

自描述性,xml表示数据的方式真正做到了独立于应用系统,并且数据能够重用,xml文档被看作文档的数据库化和数据的文档化.

3、xml与html区别

html是一个定型的标记语言,它用固有的标记来描述,显示网页内容,xml没有固定的标记,不能描述网页具体的外观、内容,它只是描述内容的数据形式和结构,网页将数据和显示混在一起,而xml则将数据和显示分开.

xml文档注意事项

所有标记都必须有一个相应的结束标记、标记都必须合理嵌套、标记区分大小写、标记的属性必须用""括起来.

标记命名规则:名字中可以包含字母、数字、下划线以及其他字母,不能以数字或下划线开头、名字不能以xml(或XML或Xml…)开头、名字中不能包含空格、名字中也不能使用".","."被用来连接元素和属性.

提示:支持汉字作为标记名,要注意编码,文件编码与xml声明的编码要一致.

在 XML 中,有 5 个预定义的实体引用:

< < 小于 
>> 大于 
& & 和号 
&apos; &#39; 单引号 
" " 双引号

XML文件生成操作简单示例,代码如下:

<?php 
header("Content-Type:application/xml;charset=utf-8"); 
header("Cache-Control: no-cache,must-revalidate"); 
header("Expries: Fri, 14 Mar 1980 20:00:00 GMT"); 
header("Last-Modified: ".date(&#39;r&#39;)); 
header("Prama: no-cache"); 
$xml=&#39;<?xml version="1.0" encoding="utf-8" 
<rss></rss>&#39;; 
$sxe=new SimpleXMLElement($xml); 
if(method_exists($sxe,&#39;addChild&#39;)){ 
    $sxe->addAttribute(&#39;version&#39;,&#39;2.0&#39;); 
    $channel=$sxe->addChild(&#39;channel&#39;); 
    $channel->addChild("title","服饰批发"); 
    for($i=0;$i<5;$i++){ 
        $item=$channel->addChild(&#39;item&#39;); 
        $item->addChild(&#39;title&#39;,&#39;商品&#39;.$i); 
        $item->addChild(&#39;link&#39;,$i); 
    } 
    echo $sxe->asXML(); 
}else{ 
    $dom=new DOMDocument("1.0");//生成一个新的DOM对象 
    $rss=$dom->createElement("rss");//生成rss元素 
    $rss->setAttribute("version","2.0"); 
    $rss=$dom->appendChild($rss); 
 
    $channel=$dom->createElement("channel"); 
    $channel=$rss->appendChild($channel); 
 
    $title=$dom->createElement(&#39;title&#39;); 
    $text=$dom->createTextNode("服饰批发"); 
    $title->appendChild($text); 
    $title=$channel->appendChild($title); 
 
    for($i=0;$i<5;$i++){ 
        $item=$dom->createElement("item"); 
        $item=$channel->appendChild($item); 
 
        $title=$dom->createElement("title"); 
        $text=$dom->createTextNode("商品".$i); 
        $title->appendChild($text); 
        $title=$item->appendChild($title); 
 
        $link=$dom->createElement("link"); 
        $text=$dom->createTextNode("$i"); 
        $link->appendChild($text); 
        $link=$item->appendChild($link); 
    }
    echo $dom->saveXML(); 
    //$dom->save("nnn.xml"); 
}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn