xml基础学习笔记01
注意:刚刚看了网上对于XML中的标签,节点和元素?到底应该怎么表述?起初我也有这个疑惑,现在我的想法是:下面出现node的应称作节点,节点对象。element应称作元素,毕竟这更符合英文的本意。至于标签,我们可以将<></>称作标签,但只限于这些尖括号。其实没有必要这么咬文嚼字,这些只是便于我们准确的交流,可以让人清楚的理解你所说的是什么,终于的是你知道这个元素或标签指的是什么。
这里给一个w3school上面关于XML元素定义:
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
(201409290041)
还是继续学习 燕十八老师传世经典三部曲第三步:xml ,只是学习笔记,基本都是记录老师的讲解,融入了一些自己的认识。不属于原创,原创请看十八哥的视频。默默的给十八哥送上32个赞
前几天刚学了smarty模板引擎,由于在公司简单的用过,对于一些smarty已经会用了,只是还不是很清楚,就看了看。并没有做什么笔记,模板引擎吗!只要会用就行了,没有必要学习研究太多其中高级的东西,毕竟现在还是掌握更紧要。至于以后经验丰富了和时间允许可以好好看看源码。
还是说xml吧,之前简单的看过http://www.w3school.com.cn/ 关于xml的介绍。只是浏览了一边概念,至于到底怎么用,还是没有任何感觉!很多时候都觉得还是需要看着老师或者别人做一下,才能知道这东西什么时候用、在哪里用和怎么用。还是自己有点笨啊!哎。。。
先来copy一段w3school上面关于xml的介绍吧!
$title0 = $ts->item(0); // $title0 就是一个节点对象 DOMElement Object ( )
$title0->childNodes
print_r($title0->childNodes); 子节点对象列表 DOMNodeList Object
选取第一个子节点对象,也就是下面的文本对象
//这里的子节点列表对象也和上面提到的一样,一个属性和一个方法
$text = $title0->childNodes->item(0);
print_r($text); //DOMText Object ( ) 文本对象
echo $text->wholeText;
<?xml version='1.0' encoding='utf-8' ?>
<bookstore>
<book>
<title>路遥-平凡的世界</title>
<price>43</price>
</book>
<book>
<title>曹雪芹-红楼梦</title>
<price>93</price>
</book>
</bookstore>
php文件
<?php
header("content-type:text/html;charset=utf-8");
//创建DOM解析对象
$dom = new DOMDocument('1.0','utf-8');
print_r($dom); // DOMDocument Object ( ) DOM文档对象
// 载入xml文档
$dom->load('./02.xml');
echo "<br/>";
print_r($dom); // DOMDocument Object ( )
//选取节点,得到节点列表对象 DOMNodeList Object ( )
$ts = $dom->getElementsByTagName('title');
echo "<br/>";
print_r($ts); // DOMNodeList Object ( )
/********************************
* DOMNodeList Object ( )
* 一个属性:length,代表取得的节点数
* 一个方法:item(N),代表取得第N个节点,N从0 开始
*
* *****************************/
echo "<br/>";
echo $ts->length; // 节点列表长度,
echo "<br/>";
//选取列表中的第一个,得到一个节点对象
print_r($ts->item(0)); //DOMElement Object ( ) $title0 = $ts->item(0); // $title0 就是一个节点对象 DOMElement Object ( )
echo "<br/>";
print_r($title0->childNodes); // DOMNodeList Object ( ) 这里的childNodes 是一个属性,得到的是子节点列表对象
/***********************************
* 注意在xml中,一切都是节点,包括文本,回车换行
* 所以,title中的 ‘路遥-平凡的世界’和title的关系就是父子关系。
* 这也就是为什么上面print_r($title0->childNodes); 打印的是 DOMNodeList Object ( ),还是一个节点列表对象
**********************************/
//选取第一个子节点对象,也就是下面的文本对象
//这里的子节点列表对象也和上面提到的一样,一个属性和一个方法
$text = $title0->childNodes->item(0);
echo "<br/>";
print_r($text); //DOMText Object ( ) 文本对象 echo "<br/>";
//我们已经很接近了,我们获得了文本对象,然后只要难道对象内容就行了
//使用文本对象的一个属性 wholeText
echo $text->wholeText; /***********************************************
* 现在,我们捋一捋我们刚才的整个思路
* 首相,实例化一个文档对象:DOMDocument Object ,也就是上面的$dom
* 其次,调用road方法,载入xml文件 $dom->load('./02.xml');
* 然后,通过getElementsByTagName方法 得到一个title节点列表对象:$ts ,DOMNodeList Object
* 再然后,我们想得到第一个书名,我们使用item(0)选取列表中的第一个节点对象 DOMElement Object
* 再然后,通过print_r($title0->childNodes) 看到 得到的又是一个节点列表DOMNodeList Object,为什么?上面已经说明,这里就不再多说了
* 最后,通过$text = $title0->childNodes->item(0); 选取第一个节点对象,这个对象是一个 DOMText Object ( ) 文本对象
* 好了,使用wholeText属性得到信息
* 注意:以上的这些操作都是可以连续操作的,下面举例(将第二本书名取出):
* ********************************************/
echo "<hr/>";
echo $dom->getElementsByTagName('title')->item(1)->childNodes->item(0)->wholeText;
echo "<hr/>";
/**
* 这是一种简洁的写法,但是,这个不够正规
**/
echo $dom->getElementsByTagName('title')->item(1)->nodeValue;
/***************************************
* xml 的DOM解析本身是不难的,但是就是解析的太深了、太繁琐了,所以就会显得有些难
* 虽然此处似乎有些难,但是很有必要仔细学、慢慢学,一定要弄懂,因为这里说的php中的
* 对xml的DOM解析在js、java、C#都是很相似的,甚至和一说一个思想,同样的方法,所以花点
* 时间是很值得的!这就有点像正则表达式,只要学会了,那个程序语言中都可以正常使用
**************************************/
?>
好了,暂时就做这些吧,至于老师讲的土豆视频应用的那个,不是我没做,我整了老长时间,硬是找不到土豆那个app应用申请在哪里,优酷的我看返回的是json格式,哎,就没有上手做。有时间了看看json ,做做优酷
xml基础学习笔记01的更多相关文章
- xml基础学习笔记03
继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 <?php /* 笔记: 35.XML节点的删除与修改 使用 ...
- xml基础学习笔记05
Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档 * Xpatn.Xquery,是专门用来查询xml的语言 * 查询xml非常快 Xpatn.Xquery,是专门用来 ...
- xml基础学习笔记04
今天继续xml学习,主要是:SimpleXML快速解析文档.xml与数组相互转换 .博客中只是简单的做一个学习记录.积累.更加详细的使用方法,可以查看php手册 1.SimpleXML快速解析文档 前 ...
- xml基础学习笔记02
接着上次的xml笔记01 ,记录一下如何DOM创建xml 一.由于没有特意来写博客,都是在程序中用注释的方法记录笔记,整理过来难免格式错误,排版什么的,大家好事看不懂就仔细看给出的代码加上注释,一定会 ...
- xml基础学习笔记
1 XML入门 1.1 引入 HTML: 负责网页的结构 CSS: 负责网页的样式(美观) Javascript: 负责在浏览器端与用户进行交互. 负责静态的网页制作的语言 HTML语言特点: 1)由 ...
- SpringBoot -基础学习笔记 - 01
SpringBoot个人笔记-szs 一.使用thymeleaf模板引擎来指定所需资源的位置 可以做到当项目名进行更改后,模板引擎也会进行更新相关的路径;如下图展示,会自动添加crud根目录! < ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
随机推荐
- Sqlserver替换函数Replace
Sqlserver中Replace函数:实现字段中某个字符串批量替换. 注意:强烈建议替换前备份数据库以免发生灾难性后果. update article set [Content]=replace([ ...
- 由后序遍历结果构造二叉查找树 && 二叉查找树链表化
二叉查找树通俗说就是左孩子比父亲小,右孩子比父亲大.构造这么一个树,树嘛,递归即可. 例如一棵树后序遍历是这样(下图的树):2 9 8 16 15 10 25 38 45 42 30 20.最后的20 ...
- 1. Hello UWP
1. UWP UWP,Universal Windows Platform,也就是 Windows 10 新推出的通用平台应用,只要一次编码,即可运行在 Windows 10 电脑以及手机上,甚至可以 ...
- Linux字符设备和块设备的区别
系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块.最常见的块设备是硬盘,除此以外,还有软盘驱动器.CD-ROM驱动器和闪存等等许多其他块设备.注意 ...
- JS正则表达式使用方法及示例
1.定义正则表达式: a.普通方式:var reg=/表达式/附加参数 附件参数: g:代表可以进行全局匹配.i:代表不区分大小写匹配.m:代表可以进行多行匹配. 上面三个参数,可以任意组合,代表复合 ...
- 基于jQuery编写的横向自适应幻灯片切换特效
基于jQuery编写的横向自适应幻灯片切换特效 全屏自适应jquery焦点图切换特效,在IE6这个蛋疼的浏览器兼容性问题上得到了和谐,兼容IE6. 适用浏览器:IE6.IE7.IE8.360.Fire ...
- 将raw里面的数据库文件写入到data中
package com.city.list.db; import java.io.File; import java.io.FileNotFoundException; import java.io. ...
- 18)Java八股文名词
>VO: value-object >DTO: Data Transform Object >DTD: Document Type Definition 文档类型定 ...
- Delphi CxGrid 汇总(3)
列 解决: <aColumn>.GroupIndex := -1; <aColumn>.Visible := True; *** ...
- 蒙牛乳业六厂—第一家MES工厂
在上海西门子工业自动化(SIAS)与蒙牛液态奶事业部以及蒙牛集团信息中心的共同努力下,经过项目组成员1年半时间的具体实施,中国乳品行业第一个真正意义上的生产执行系统MES,于2008年6月在蒙牛乳业集 ...