xml语法很简单,但很严格,如果出现错误则不能正常解析,而HTML如果出现局部的错误,照样解析
xml第一行必须写xml头<?xml version='1.0' encoding='utf8'?>
如果不写在第一行,则会报错
除了头xml文件只能有一个根标签,根标签中可以有多个标签,这些标签可以嵌套,但不可以交叉嵌套
xml是为了传输数据而生的,而不是显示数据,显示数据用html
标签中可以存在属性:属性必须要有值,属性值必须用引号引起来
注释内容用<!--这里是注释内容-->
在页面中要显示特殊符号,要使用实体代替
如果要引入大段的文本,不可能将所有的特殊符号都替换成实体,要用到CDATA标签<![CDATA[大段文本存放位置]]>

手写的xml 01.xml

<?xml version='1.0' encoding='utf8' ?>
<bookstory>
<book>
<title>java基础</title>
<price>19.9元</price>
</book>
<book>
<title>c语言程序设计</title>
<price>15.0元</price>
</book>
<book>
<title>java实战</title>
<price>35.5元</price>
</book>
</bookstory>

php解析readxml.php

<?php

//创建DOM对象
$dom=new DOMdocument('1.0','utf8'); //载入xml文档
$dom->load('01.xml'); //得到title节点
$title=$dom->getElementsByTagName('title'); //var_dump($title);//返回object(DOMNodeList)[2]Dom节点列表 $book=$title->item(0);//获得第一个节点对象
//var_dump($book); $name=$book->nodeValue;//获得这个节点的内容 echo $name; ?>

php创建xml 02.php

<?php
//程序生成xml文件 //创建dom对象
$dom=new DOMdocument('1.0','utf8'); //创建文本节点
$t1=$dom->createTextNode('java基础知识'); //创建普通节点
$name=$dom->createElement('title'); //将文本节点添加到普通节点中
$name->appendChild($t1); $t2=$dom->createTextNode('19.9元');
$price=$dom->createElement('price');
$price->appendChild($t2); //创建CDATA
$cdata=$dom->createCDATASection('这里的内容可以随便写,反正不解析{{}{}{}【】【】[]'); //创建属性
$att=$dom->createAttribute('id');
$att->value='sn21314324234123'; $name->appendChild($att); //创建根节点
$story=$dom->createElement('bookstory'); $book=$dom->createElement('book');
$book->appendChild($name);
$book->appendChild($price);
$story->appendChild($book);
$story->appendChild($cdata);
$dom->appendChild($story);
header('content-type:text/xml');
//输出
echo $dom->savexml(); ?>

最新文章

  1. js特效2
  2. VMware下安装虚拟机Ubuntu14.04 Server设置桥接方式
  3. 通过iphone蓝牙与经过苹果MFI授权认证的硬件通讯,传输图片(转)
  4. JS tab切换事件
  5. linux的7种运行级别
  6. cocos2dx中的菜单项CCMenuItem及其五个子类的使用
  7. windows 下c++编译
  8. app配置智能硬件的解决方案
  9. Android Learning:微信第三方登录
  10. 【转】关于Adapter的The content of the adapter has changed问题分析 关于Adapter的The content of the adapter has changed问题分析
  11. CreateFile使用方法和样例
  12. PHP 继承,组合,单模式,GUID,等混合实例
  13. arcengine C#关于动态添加图层
  14. JMeter 压力测试使用CSV参数
  15. Web.config中设置启用webservice远程调试访问
  16. 总结idea几个实用的快捷键
  17. Django ORM 知识概要
  18. restTemplate.postForObject上传文件中文乱码(???.xls)
  19. 通过python操作smtplib模块发送邮件
  20. 17秋 软件工程 团队第五次作业 Alpha 用户反馈

热门文章

  1. C# 结构体保存自定义文件 实例部分代码(转)
  2. Android--应用开发2(AndroidManfest.xml)
  3. 【Linux 命令】Linux系统下强制用户下线——who,pkill
  4. [转]常用的130个vim命令
  5. 给Qt应用程序添加图标文件ico setWindowIcon
  6. 48. 面向对象的LotusScript(十四)之Log4Dom上
  7. 高效使用Bitmaps(一) 大Bitmap的加载
  8. JavaScript要点(十) HTML DOM - 改变 HTML
  9. 秀一套每秒处理1500+个事务的profile
  10. iOS相机权限、相册权限、定位权限判断