xml:extensible markup language(可扩展标记语言)
(一)xml与html的区别和联系
联系:它们都是标签语言
区别:
① 侧重点
xml侧重数据的传输、数据的存储
html侧重数据的表现
② 标签自我描述性
xml可以根据自己的想法,自定义使用的标签
html需要使用一些固定标签(table div span等等)
③ 标签和表现是否分离
xml标签和表现是分离的
html标签和表现是在一起的,例如h1 h2 h3 p 等标签在使用的时候会表现出一定的“样式”
(二)xml语法规范
① xml的标记头:<?xml version=”1.0” encoding=”utf-8” ?>
② xml文档有且只有一个根节点:<students>
③ 标签要闭合,有开始、结束标记
a.双标记: <name></name>
b.单标记: <img src=”” /> <div/>
④ 元素属性必有值,并且属性值要使用单或双引号(‘ “)给括起来
<input type="checkbox" checked /> html4.0 <input type="checkbox" checked='checked' /> xhtml1.0 <input type="radio" checked='checked' /> xhtml1.0 <select mutiple> html4.0 //多选下拉列表 <select mutiple='mutiple'> xhtml1.0 //多选下拉列表
⑤ 元素名称大小写要求一致,建议使用小写字母
⑥ 标签可以嵌套,但不能交叉
⑦ 特殊符号使用符号实体(单引号:' 双引号:" 空格: &符号:&
小于号: < 大于号: >)
⑧ 如果有的内容中有大量特殊符号,就不使用符号实体(比较麻烦),转而使用<![CDATA[ 大量内容 ]]>节
<?xml version="1.0" encoding="utf-8"?> <students> <student> <name sex="man">特朗普</name> <color>white</color> <height>185</height> </student> <student> <name>奥巴马</name> <color>yellow</color> <height>185</height></student> </students>
<?php header("Content-type:text/html;charset=utf-8"); //利用simplexml创建xml文档 $str = "<?xml version='1.0' encoding='utf-8' ?><students></students>"; //创建xml文件,并追加内容 file_put_contents('01.xml',$str); //具体xml内容添加 $sm = simplexml_load_file('01.xml'); //引入xml文件 $st = $sm->addChild('student'); //添加第一个student二层节点 $nm = $st->addChild('name','特朗普'); //给name设置属性 $nm ->addAttribute('sex','man'); $st ->addChild('color','white'); $st ->addChild('height',185); $st = $sm->addChild('student'); //添加第二个student二层节点 $nm = $st->addChild('name','希拉里'); //给name设置属性 $nm -> addAttribute('sex','women'); $st ->addChild('color','yellow'); $st ->addChild('height',165); //保存xml到01.xml文件中 $sm -> asXML('01.xml'); //直接输出xml到浏览器 // echo $sm -> asXML();