検索
ホームページphp教程php手册php生成xml实例与基础知识

下面给大家普及一篇关于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"); 
}


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。