1.XML复习、HTML DOM 复习 2.simpleXML方式解析XML 3.XPath 4,MVC

·概念:js通过DOM实现对HTML文档的更删改查操作。

        DOM,文档对象模型,将文档转化成对象。

        主流浏览器中内置文档解析器。

·规则:HTML文档对应的节点:document

        document对象时html标签转化成的对象,可以对

html文档进行操作。

·元素节点:将每个html标签转化成对应的节点。

           增:document.createElement()

appendChild().

           删:removeElement()。

           查:getElementsByTagName()

               getElementById()

               getElementsByName()

·属性节点:获得属性:getAttribute();

            设置属性:setAttribute();

            删除属性:removeAttribute();

            创建属性:createAttribute()。

·文本节点:创建文本节点:document.createTextNode

('asdasd');

            修改文本节点可以重新给innerHTML赋值。

            

·查找节点:parentNode firstChild lastChild

·删除节点:removeChild()。

·图片切换:动态图片切换

        Count++ ++先运算后值增

            序号和图片同步显示

            也就是显示第一张图片时,序号1高亮显示,

以此类推

            鼠标点击序号显示当前对应的图片

·XML被称为web的世界语,可拓展新兴标记语言 Extensive 

Make Language

·用途:存储和传输数据

·语法规则:在表示非常复杂的数据是采用xml或者原生态

json

            必须有一个根元素。

            属性值用双引号(建议)。

            所有元素必须闭合。

            如果XML中有特殊字符,需要实体引用。

            & ---- &   ‘ ---- &apos  “ ---- 

"

            

·PHP操作XMLDOM解析:将XML文档转化成PHP可以操作的

对象。DOMDocument操作整个节点树、DOMElement 操作DOM

节点树中某个元素节点、DOMNodeList 操作DOM节点树中某

些元素的集合。

           

·var_dump:返回数据类型

·操作步骤:实例化当前需要的对象。

            加载XML文档。

            通过标签名找到元素。

            通过DOMNodeList对象的item()方法根据索

引获得某个节点。

            如果下面还有子元素,继续调用

getElementByTagName寻找。

            最后通过nodeValue获得所要的值。

·通过PHP创建一个XML:在整个文档内创建一个节点。

                      在新建的节点增加内容。

                      确定节点的位置

                      用save方法保存。

·$doc ->formatOutput = true;

将编写的代码可视化(一级一级的结构显示)

    但是,不建议可视化(建议$doc ->formatOutput = 

false;

    

·不管是创建元素节点还是属性节点,创建的时候不去确定

它的位置,所以是DOMDocument对象去创建,创建完之后再

去确定它的位置

·header("Content-Type:text/html;charset=utf-8");

告诉浏览器,我给你发送的是文本,编码为utf-8 清查收

                       

 

·获得属性值,通过数组下表形式,数组下标要大写

·XML文件中含有英文字符和汉字的时候,需要使用<!

[CDATA[]]>

·DOM方式和SAX方式的异同:1,先将XML文件在内存中解析

成节点树,如果XML文件非常大,会占用很大的内存

SAX:不需要在内存中生成节点树,而是遇到标签就解析

                          2SAX解析速度比DOM要快

                          3,如果XML结构有问题的话,

DOM方式无法解析,因为无法在内存中生成节点树;SAX会一

直解析,知道错误的发生地

                          4DOM一般用于解析复杂的

XMLSAX适用于解析数据量特别大的XML文件

·使用simpleXML解析XML文件:php专门提供的一种简单的

操作XML文件的对象。

·实例化对象:$text = file_get_contens('db.xml');

$simpleXML = new simpleXMLElement($text);

·访问某一个节点:1,访问元素的属性,通过数组下标的

形式

  $id = $books[0]['id'];

                  2,如果获得的是一个对象的集合,

foreach遍历

                  3,如果要找具体的某一个元素 通过数

组索引

$first_book = $books[0];

foreach($books as $book){

echo $book->author;

echo $book->title;

}

//增加一个节点:

//我们可以把 $sxe 看作是文档的根节点

$new_book = $sxe ->addChild('book');

//在刚创建的book节点上 增加一个title 内容是 

侠客行

$new_book ->addChild('title','侠客行');

//保存

$sxe ->asXML('book3.xml');

·删除节点

Unset(删除的节点)

$book = $sxe ->book[4];

unset($book);

·修改节点

$sxe ->book[3]->author = '金庸';

·XPath:用路径来找到XML的节点的语言。

·DOM

  内存中节点树,通过节点之间的关系来定位的

·SAX:

  按照开始标签,按顺序一个一个查找,只适合读取数据

·SimpleXML :

  将元素转化成对象,相同的元素转化成对象的集合,节点 

 之间没有关系

  $bookshelf ->book

·DOMDocument 定位XML ,就不难理解

  因为节点之间有关系的

·XPath的定位的功能是通过DOMXPath对象来实现的

 

·DTD验证:

·格式良好的:符合XML语法规则的就是格式良好的

合法的:经过验证

·DTD:

  Document Type  Definition 文档类型定义

  DTD:

  Schema

  DTD

·XML文件:

  格式良好的XML:只要符合语法规范,就是格式良好的

合法的: 经过验证并且验证通过的就是合法的

·先将DTD验证规则和XML文件关联起来

<!DOCTYPE 根元素 SYSTEM dtd文件”>

现在已经关联起来,但是还没有验证

·什么时候验证呢?

Php文件加载xml文件的时候验证

alidateOnParse

·定义DTD的规则:

应该有那些元素

元素的位置如何

元素的属性

·MVC

  M  Model  模型

  V   View   视图

  C  Controller  控制器

·Ecshop    php 的代码和html相分离  include

  Smarty    模板引擎-------就是将php  html 分离,分

配数据,显示模板内容

  现在 负责处理数据的逻辑 和 php代码还写在一起

  将数据的处理也分离出来

  Model

·model 处理数据的,原则是:

  每一张数据表对应一个模型,例如,需要操作user数据表 

 ,在model里面就应该有userModel这个文件

·views存放所有的模板文件(显示),因为有前台和后台  

,前台的放在home目录下,后台的放到admin目录下

·控制器,负责逻辑的也分为前台和后台,所以前台的也是

放在home目录下,后台的放在admin目录下

·插件目录(类似于smarty

·通过index.php访问,实现数据的增删改查  传递act参数

我们在index.php里,传参数,做判断,实现不同的功能

·例如:

做一个商品的管理

userController(前面是控制器名)+Controller

我们还要采用面向对象的思想去实现

·属性

·方法

·对象

·searchAction

我们将控制器所做的所有的动作,定义为一个函数,统一

xxxAction

·例如用户传递c=goods&a=search

代表调用goodsController控制器的searchAction方法

             


你可能感兴趣的:(simple)