zoukankan      html  css  js  c++  java
  • xml的语法与创建

    xml语法很简单,但很严格,如果出现错误则不能正常解析,而HTML如果出现局部的错误,照样解析
    xml第一行必须写xml头<?xml version='1.0' encoding='utf8'?>
    如果不写在第一行,则会报错
    除了头xml文件只能有一个根标签,根标签中可以有多个标签,这些标签可以嵌套,但不可以交叉嵌套
    xml是为了传输数据而生的,而不是显示数据,显示数据用html
    标签中可以存在属性:属性必须要有值,属性值必须用引号引起来
    注释内容用<!--这里是注释内容-->
    在页面中要显示特殊符号,要使用实体代替
    如果要引入大段的文本,不可能将所有的特殊符号都替换成实体,要用到CDATA标签<![CDATA[大段文本存放位置]]>
    

    手写的xml 01.xml

    <?xml version='1.0' encoding='utf8' ?>
    <bookstory>
    	<book>
    		<title>java基础</title>
    		<price>19.9元</price>
    	</book>
    	<book>
    		<title>c语言程序设计</title>
    		<price>15.0元</price>
    	</book>
    	<book>
    		<title>java实战</title>
    		<price>35.5元</price>
    	</book>
    </bookstory>
    

     php解析readxml.php

    <?php
    
    //创建DOM对象
    $dom=new DOMdocument('1.0','utf8');
    
    //载入xml文档
    $dom->load('01.xml');
    
    //得到title节点
    $title=$dom->getElementsByTagName('title');
    
    //var_dump($title);//返回object(DOMNodeList)[2]Dom节点列表
    
    $book=$title->item(0);//获得第一个节点对象
    //var_dump($book);
    
    
    $name=$book->nodeValue;//获得这个节点的内容
    
    echo $name;
    
    ?>
    

     php创建xml 02.php

    <?php
    //程序生成xml文件
    
    //创建dom对象
    $dom=new DOMdocument('1.0','utf8');
    
    //创建文本节点
    $t1=$dom->createTextNode('java基础知识');
    
    //创建普通节点
    $name=$dom->createElement('title');
    
    //将文本节点添加到普通节点中
    $name->appendChild($t1);
    
    $t2=$dom->createTextNode('19.9元');
    $price=$dom->createElement('price');
    $price->appendChild($t2);
    
    //创建CDATA
    $cdata=$dom->createCDATASection('这里的内容可以随便写,反正不解析{{}{}{}【】【】[]');
    
    //创建属性
    $att=$dom->createAttribute('id');
    $att->value='sn21314324234123';
    
    $name->appendChild($att);
    
    //创建根节点
    $story=$dom->createElement('bookstory');
    
    $book=$dom->createElement('book');
    $book->appendChild($name);
    $book->appendChild($price);
    $story->appendChild($book);
    $story->appendChild($cdata);
    $dom->appendChild($story);
    header('content-type:text/xml');
    //输出
    echo $dom->savexml();
    
    ?>
    
  • 相关阅读:
    Nginx 学习笔记(七)如何解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
    jQuery基础 (四)——使用jquery-cookie 实现点赞功能
    Travis CI实现持续部署
    三大云安全工具(CASB、CSPM、CWPP)的使用场景
    数据访问安全代理 CASB
    SDP(软件定义边界)让SDN更安全,你的对面可不能是一条狗!
    从BeyondCorp说起
    [Docker] Docker整体架构图
    当博弈论遇上机器学习:一文读懂相关理论
    用Rust重写Linux内核模块体验
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4841229.html
Copyright © 2011-2022 走看看