zoukankan      html  css  js  c++  java
  • PHP从入门到精通——读书笔记(第22章—23章:PHP与XML技术、Ajax技术)

    第二十二章:PHP与XML技术

    1:XML(eXtensible Markup Language:扩展性标记语言,是用来描述其他语言的语言,允许用户设计自己的标记)概述

    2:XML文档结构

    1)XML声明——XML声明在文档中只能出现一次,而且必须是在第一行。声明包括XML版本、编码信息等
    <?xml version="1.0" encoding="gb2312" standalone="yes" ?>

    2)处理指令:<?处理指令名 处理执行行信息 ?>
    <?xml-stylesheet type="text/css" href="Book.css" ?>

    3)注释—— "<!--"和"-->"

    4)XML元素
    <标签 属性名="属性值">数据内容</标签>

    5)使用CDATA标记——在XML中,特殊字符">"、"<" 和 "&"的输入需要使用实体引用来处理

    但如果遇到大量的特殊符号需要输入,则使用 CDATA(Character data,字符数据)标记,在CDATA标记段的内容都会被当做纯文本数据处理:
    <![CDTA][
    ...
    ]]>

    6)命名空间——命名空间通过在元素前面增加一个前缀来保证元素和属性的唯一性,重要用途是用于融会不同的XML文档
    <标签名称 xmlns:前缀名称="URL">

    3:在PHP中创建XML文档

    View Code
    header("Content-type:text/xml");
    echo '<?xml version="1.0" encoding="gb2312"?>';
    echo '计算机图书';
    echo '<PHP>';
    echo '<书名>PHP项目开发</书名>';
    ......

    4:SimpleXML函数

    header("Content-Type:text/xml;charset=utf-8");
    
    //第一种方法,将指定的文件解析到内存中
    $xml_1 = simlexml_load_file("5.xml");
    print_r($xml_1);
    
    //第二种方法,将创建的字符串解析到内存中
    $str = <<<XML
    <?xml version='1.0' encoding='gb2312'?>
    <Object>
            <ComputerBook>
                    <title>入门到精通</title>
            </ComputerBook>
    </Object>
    XML;
    
    $xml_2 = simple_load_string($str);
    echo '<p>';
    print_r($xml_2);
    
    //第三种方法,将一个使用DOM函数创建的DomDocument对象导入到内存中
    $dom = new domDocument();
    $dom->loadXML($str);
    $xml_3 = simplexml_import_dom($dom);
    echo '<p>';
    print_r($xml_3);

    使用SimpleXML对象中的children()函数和foreach循环语句可以遍历所有子节点元素

    $xml = simplexml_load_string($str);
    //循环输出根节点
    foreach ($xml->children() as $layer_one ){
            print_r($layer_one);
            echo '<br>';
            //循环输出第二层根节点
            foreach($layer_one->children() as $layer_two){
                    print_r($layer_two);
                    echo '<br>';
            }
    }

    遍历所有属性—— attributes() 方法

    访问特定节点元素和属性
    $xml[name] ; $xml->book[0]->computerbook

    修改XML数据
    $xml->book->computerbook['type'] = iconv('gb2312', 'utf-8', 'PHP程序员必备工具');
    iconv()函数是转换编码函数。上面是将字符串"PHP程序员必备工具"从gb2312的编码格式转换成utf-8编码格式

    保存XML文档——使用asXML()

    $xml = simplexml_load_file('10.xml');
    $xml->book->computerbook['type'] = iconv('gb2312','utf-8','PHP程序员必备工具');
    $xml->book->computerbook = iconv('gb2312','utf-8','PHP函数参考');
    //格式化对象$xml
    $modi = $xml->asXML();
    //将对象保存到10.xml文档中
    file_put_contents('10.xml', $modi);
    //程序读取xml文档
    $str = file_get_contents('10.xml');
    echo $str;

    动态创建XML文档

    $dom = new DomDocument('1.0','gb2312');
    $object = $dom->createElement('object');
    $dom->appendChild($object);
    $book = $dom->createElement('book');
    $object->appendChild($book);
    $computerbook = $dom->createElement('computerbook');
    $book->appendChild($computerbook);
    $type = $dom->createAttribute('type');
    $computerbook->appendChild($type);
    $type_value = $dom->createTextNode('computer');
    $type->appendChild($type_value);
    $bookname = $dom->createElement('bookname');
    $computerbook->appendChild($bookname);
    $bookname_value = $dom->createTextNode(iconv('gb2312','utf-8','PHP从入门到精通'));
    $bookname->appendChild($bookname_value);
    echo $dom->saveXML();

    第二十三章:PHP与Ajax技术

    1:Ajax核心—— XMLHttpRequest技术,它是一个具有应用程序接口的javascript对象,能使用超文本传输协议(HTTP)连接服务器

  • 相关阅读:
    java类加载器与双亲委派机制详解
    JAVA数据库连接池
    使用vue脚手架(vue-cli)快速搭建项目
    安装Vue.js
    @Autowired的使用:推荐对构造函数进行注释
    图解排序算法(三)之堆排序
    快速排序思想
    TCP与UDP区别总结
    JDBC
    solr单机版安装与集群搭建教程
  • 原文地址:https://www.cnblogs.com/mumue/p/2850888.html
Copyright © 2011-2022 走看看