zoukankan      html  css  js  c++  java
  • 1.3:PHP与XML

    0X00 万能传输数据格式--XML

    1.PHP解析XML的两种格式

    (1).通过php dom来进行解析XML(主要实现增删改等操作)

    (2).通过php simpleXML解析XML(主要实现查询操作)

    2.XML执行解析流程

    当系统执行XML时系统会执行以下步骤:

    (1).首先在内存中开辟一块内存空间

    (2).载入XML文件到内存中,并形成XML数结构

    3.XML树结构--DOM模型

    XML代码

    4.DOM型分类

    标准DOM型(CSS,JAVASCRIPT)

    非标准DOM型(PHP)

    0X01 PHP DOM型解析XML数据

    1.PHP DOM模型解析XML的三个关键词

    面,串,点

    2.php DOM模型中的查操作(几步走)

    (1).开辟一块存储空间,形成“面”

    (2).载入XML文件到内存中,形成DOM树结构,形成“串”

    (3).获取同级兄弟节点,形成“串”

    (4).通过查询条件,获取相应的“点”

    3.PHP DOM 模型常用的四大类

    document object mode

    DOMDocument(面)

    DOMNodelist(串)

    DOMNode (点)

    DOMElement(点)

     直接解析XML文档,或者说调用,读取操作

    参数:version:XML版本号

    encoding:编码格式 UTF-8

    4.load方式载入到XML内存,形成dom树结构

    mixed DOMDocument::load(string$filename)

    filename:XML 文件名称

    5.获取同级兄弟节点,形成串

    DOMNodeList DOMDocument::getElementsByTagName(string name)

    通过节点名称获取类        name:节点名称

    串中两个常用属性和方法

    DOMNodelist length:输出当前XML页面多个节点信息

    DOMNode DOMNodelist::item 通过index节点指引,获取节点信息

    通过nodeNAME或nodeValue获取节点信息

    nodeName:节点名称

    nodeValue:节点值

    6.PHP DOM模型中的查操作

     

    6.属性的查询

    1.开辟内存空间,形成 ‘面’

    2.载入XML文件到内存中,形成DOM树

    3.获取同级兄弟节点,形成串

    4.通过item获取指定节点信息,并读取属性。

    要用到下列三个方法:

    bool DOMElement ::hasAttribute(string $name)//是否具有指定的name属性(变量name)

    bool DOMNode ::hasAttributes(void) //判断是否具有属性

    string DOMElement ::getAttribute(string $name) //获取指定名称的属性

     

     输出后

    0X01 dom型增删改查步骤

    1.开辟内存空间

    2.载入XML文件到内存,形成DOM树

    3.创建新节点

    4.创建子节点

    5.追加子节点到父节点

    6.把内存中信息保存到XML中

    用到的知识点:

    创建节点:DOMElement DOMDocument::createElement(string $name [string $value]) //创建新节点

    参数:  name:节点名称

                value :节点参数,节点的值

    追加节点:DOMNOde DOMNOde::appendChild(DOMnode $NEWnode) //追加子节点

    参数: newnode:新节点

    保存内存:int DOMDocument::save(string $filename) //保存信息到XML文件中

    filename:文件名称

     

    2.PHP DOM中修改操作

    分类:值操作,节点操作

  • 相关阅读:
    常见linux内核线程说明
    /proc/modules分析
    linux用户空间和内核空间(内核高端内存)_转
    二层交换机/三层交换机/路由器
    NAT--Network Address Translator
    curl命令使用
    (转)XML中必须进行转义的字符
    LFCP
    IPSP问题
    API和schema开发过程问题汇总
  • 原文地址:https://www.cnblogs.com/sssbug/p/11498879.html
Copyright © 2011-2022 走看看