zoukankan      html  css  js  c++  java
  • 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方法

                 


  • 相关阅读:
    oracle用户被锁死
    windows远程桌面智能调整大小
    批量ping测试脚本
    信息的组织和提取方法
    BeautifulSoup
    requests模块学习
    Telerik Fiddler 应用方法
    js 时间格式换成 把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)记录
    vuedraggable 拖拽 应用 不同列表之间的拖拽
    vue项目图片上传 vant van-uploader 图片上传
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2995103.html
Copyright © 2011-2022 走看看