xml的语法与创建
2024-10-16 21:47:05
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(); ?>
最新文章
- js特效2
- VMware下安装虚拟机Ubuntu14.04 Server设置桥接方式
- 通过iphone蓝牙与经过苹果MFI授权认证的硬件通讯,传输图片(转)
- JS tab切换事件
- linux的7种运行级别
- cocos2dx中的菜单项CCMenuItem及其五个子类的使用
- windows 下c++编译
- app配置智能硬件的解决方案
- Android Learning:微信第三方登录
- 【转】关于Adapter的The content of the adapter has changed问题分析 关于Adapter的The content of the adapter has changed问题分析
- CreateFile使用方法和样例
- PHP 继承,组合,单模式,GUID,等混合实例
- arcengine C#关于动态添加图层
- JMeter 压力测试使用CSV参数
- Web.config中设置启用webservice远程调试访问
- 总结idea几个实用的快捷键
- Django ORM 知识概要
- restTemplate.postForObject上传文件中文乱码(???.xls)
- 通过python操作smtplib模块发送邮件
- 17秋 软件工程 团队第五次作业 Alpha 用户反馈
热门文章
- C# 结构体保存自定义文件 实例部分代码(转)
- Android--应用开发2(AndroidManfest.xml)
- 【Linux 命令】Linux系统下强制用户下线——who,pkill
- [转]常用的130个vim命令
- 给Qt应用程序添加图标文件ico setWindowIcon
- 48. 面向对象的LotusScript(十四)之Log4Dom上
- 高效使用Bitmaps(一) 大Bitmap的加载
- JavaScript要点(十) HTML DOM - 改变 HTML
- 秀一套每秒处理1500+个事务的profile
- iOS相机权限、相册权限、定位权限判断