php中xml操作執行個體方法

來源:互聯網
上載者:User


xml大多用來儲存資料,本文主要和大家分析php中xml操作執行個體方法,希望能協助到大家。

本文

入門案例

<?xml version="1.0" encoding="utf-8" ?><stu><name>draymonder</name></stu>

處理特殊字元

<imgs><![CDATA[$<$$#@>]]></imgs>CDATA的基本文法<![CDATA[內容]]>面試題: 如何使用xml檔案來傳遞,儲存一個圖片答: 使用程式先讀入到記憶體然後儲存到xml的<![CDATA[檔案內容]]>中

xml的PI處理指示

通過PI指令來引入CSS樣式檔案:PI指令的弊端:    只對英文的標籤起作用,對中文的標籤不起作用。 //和html引用css大同小異<?xml-stylesheet  type="text/css" href="txt.css"?>  //txt.css內容name{    background-color:red;}age{    background-color:green;}

dtd (Document Type Definition

為了約束xml檔案,使xml語義合法
dtd詳解

基本文法<!ELEMENT 元素名 類型> //元素約束<!ATTLIST 元素名> //屬性約束<!ENTITY 元素名 "引用內容"> //用元素名來表示引用的內容

phpDom快速入門

$xmldoc = new DomDocument();$xmldoc->load("test.xml");//讀檔案的時候用load方法//讀字串的時候用 loadXML方法 //eg: $xmldoc->loadXML('<root><node/></root>');//找到root節點$nodeLists=$xmldoc->getElementsByTagName("stu"); //返回的是結果集合 $nodeList = $nodeLists->item(0); //上面直接就已經找到root節點了//新增name節點$node_name = $xmldoc->createElement("name");$node_name->nodeValue = "我喜歡你";//新增age節點$node_age = $xmldoc->createElement("age");$node_age->nodeValue = "20";//root節點下掛載 name節點和age節點$root->appendChild($node_name); $root->appendChild($node_age);//記憶體中修改完畢以後 還要儲存檔案內容$xmldoc->save("test.xml");//刪除操作$test->parentNode->removeChild($test);//更新操作找到那個需要修改的節點 直接改 nodeValue屬性就可以//設定屬性setAttribute (string $name ,string $value) 添加屬性為$name 屬性值$value的屬性

xpath

php dom技術可以跨層取出,但是不能保持層次關係,使用xpath可以解決

這種技術相當於是知道節點所在的層級,然後通過層級關係來找相應的節點$xmldoc = new DOMDocument();$xmldoc->load("test.xml");$xpath = new DOMXPath($xmldoc);$node_list = $xpath->query("/stu");echo $node_list->length;

SimpleXML

以物件導向方式來操作xml檔案

//裝載檔案$stu = simplexml_load_file("test.xml");$name  = $stu->name;var_dump($name);foreach ($name as $value) {    echo "$value <br>";}//還有裝載方式從DOM對象simplexml_import_dom//裝載字串simplexml_load_string

超連結統一開啟問題

<head>    <base target="_blank"></head>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.