91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解析XML的案例

發布時間:2020-12-02 10:22:42 來源:億速云 閱讀:121 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關解析XML的案例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一.解析XML

創建demo.xml文件:

<?xml version="1.0" encoding="UTF-8"?> <bookstore>
    <book book_id="1">
      <title>php</title> 
      <author>php入門到放棄</author> 
    </book>
    <book book_id="2">
      <title>java</title> 
      <author>java入門到放棄</author> 
    </book>
    <book book_id="3">
      <title>C</title> 
      <author>C入門到放棄</author> 
    </book></bookstore>

使用PHP解析demo.xml中的內容,以獲取到php這個文本節點為例:

<?php
    /*思路:1.先載入xml文檔 
    2.獲取節點列表對象 
    3.獲取子節點對象 
    4.獲取子節點列表對象 
    5.獲取文本對象 如果層級比較深就是循環2-4步,先拿列表對象,再拿子節點對象...*/
    $dom = new DOMDocument('1.0','UTF-8');
    //print_r($dom); //DOMDocument Object
    $dom->load('demo.xml'); //載入要解析的xml文檔
    $titleList = $dom->getElementsByTagName('title'); ////DOMNodeList Object ( [length] => 3 ) 獲取節點列表對象
    $title = $titleList->item(0); //DOMElement Object 獲取子節點對象
    $title = $title->childNodes; //DOMNodeList Object ( [length] => 1 )獲取子節點列表對象
    $title = $title->item(0); //DOMText Object 獲取到文本對象
    $text = $title->wholeText; //獲取到文本內容
    echo $text; //php
    echo '<br>';
    //也可以直接寫成連貫操作:  
    $text = $dom->getElementsByTagName('title')->item(0)->childNodes->item(0)->wholeText;
    echo $text; //php
    echo '<br>';
    //第二種方法:
    $text = $dom->getElementsByTagName('title')->item(0)->nodeValue; //獲取到文本內容
    echo $text; //php

除了解析之外,還可以對xml節點進行刪除和替換操作:

    $dom = new DOMDocument('1.0','UTF-8');
    $dom->load('demo.xml'); //載入要解析的xml文檔
    /**
     *xml刪除節點
     * */
    $php = $dom->getElementsByTagName('book')->item(0); //獲取文本節點
    $php->parentNode->removeChild($php); //獲取文本節點的父節點,然后站在父節點的立場刪除子文本節點
    /**
     * xml替換節點
     * */
    $java = $dom->getElementsByTagName('title')->item(0); //獲取要替換的文本節點
    $newnode = $dom->createTextNode('python'); //創建新的文本節點
    $java->replaceChild($newnode,$java->firstChild); //用新節點替換舊文本節點內容
    header("content-type:text/xml");
    echo $dom->saveXML(); //直接輸出xml文本     

二.創建XML

使用PHP創建一個如下的XML文件:

<?xml version="1.0" encoding="UTF-8"?> <bookstore>
 <book book_id="1">
     <title>php</title>
     <author><![CDATA[PHP是世界上最好的編程語言.emmm...]]></author>
 </book></bookstore>

PHP代碼:

<?php
    $dom = new DOMDocument('1.0','UTF-8');
    $text =  $dom->createTextNode('php'); //創建文本節點
    $title = $dom->createElement('title'); //創建普通節點
    $title->appendChild($text); //將文本節點作為子節點添加到普通節點內
    $cdata = $dom->createCDATASection('PHP是世界上最好的編程語言.emmm...'); //創建CDATA節點
    $author = $dom->createElement('author'); //創建普通節點
    $author->appendChild($cdata); //將CDATA節點作為子節點添加到普通節點內
    $book = $dom->createElement('book'); //創建普通節點
    //將上面創建的兩個普通節點作為子節點添加到普通節點內
    $book->appendChild($title);
    $book->appendChild($author);
    $book_id = $dom->createAttribute('book_id'); //創建屬性名
    $book_id->value = '1'; //創建屬性值
    $book->appendChild($book_id); //將屬性加到普通節點內
    $bookstore = $dom->createElement('bookstore'); //創建普通節點
    $bookstore->appendChild($book); //將普通節點作為子節點添加到普通節點內
    $dom->appendChild($bookstore); //將普通節點添加到文檔內
    // header("content-type:text/xml");
    // echo $dom->saveXML(); //直接輸出xml文本
    echo $dom->save('demo.xml'); //生成xml文件

在瀏覽器輸出如下圖:

解析XML的案例

關于解析XML的案例就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節
推薦閱讀:
  1. SQL解析XML
  2. 解析XML

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

九龙县| 台东市| 林甸县| 文山县| 柳林县| 丹阳市| 宁河县| 页游| 富平县| 湘阴县| 湾仔区| 平昌县| 资溪县| 历史| 新安县| 东光县| 姜堰市| 茶陵县| 民乐县| 临安市| 古蔺县| 延边| 大庆市| 平度市| 福安市| 夹江县| 合山市| 吉安市| 永嘉县| 昌吉市| 裕民县| 麻城市| 临安市| 伊宁市| 河南省| 广灵县| 湘潭县| 阿坝| 福安市| 大渡口区| 铜陵市|