PHP XML DOM

來源:互聯網
上載者:User

PHP XML DOM

內建的DOM解析器可以處理XML文檔在PHP 。  

這裡是什嗎?
的W3C DOM提供了一套標準的對象為HTML和XML檔案,以及一個標準的介面用於訪問和操縱它們。

的W3C DOM分為不同部分(核心, XML和HTML )和不同層次( 1/2/3級的DOM ) :

*核心的DOM 定義一套標準的對象結構的任何檔案
*的XML的DOM 定義一套標準的對象的X ML檔案
*的HTML的DOM 定義一套標準的對象為H TML檔案

如果您想瞭解更多有關的XML的DOM ,請訪問我們的XML的DOM教程。  

XML解析
要閱讀和更新建立和操縱一個XM L檔案,您需要一個XM L解析器。

有兩個基本類型的XML解析器:

樹為基礎的剖析:這分析器轉換XML檔案成一個樹狀結構。分析了整個檔案,並提供進入樹要素
基於事件的剖析:觀XML檔案的一系列活動。當某一特定事件發生時,它要求一個函數來處理它
在DOM解析器是一個樹為基礎的剖析。

看看下面的XML檔案部分:

<?xml version="1.0" encoding="ISO88591"?><from>Jani</from>

The XML DOM sees the XML above as a tree structure:

  • Level 1: XML Document
  • Level 2: Root element: <from>
  • Level 3: Text element: "Jani"

 

安裝
的DOM XML解析器職能是PHP核心的一部分。沒有安裝即可使用這些功能。




一個XML檔案
XML檔案下文將用於在我們的例子:

<?xml version="1.0" encoding="ISO88591"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
    

負載和輸出的XML
我們要初始化XML分析器,載入XML和輸出:

例如

 

$xmlDoc = new DOMDocument();$xmlDoc>load("note.xml");print $xmlDoc>saveXML();?>

 

輸出為.

Tove Jani Reminder Don't forget me this weekend!

如果您選擇“查看源檔案”在瀏覽器視窗中,您會看到下面的HTML :

 

<?xml version="1.0" encoding="ISO88591"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
 
       

上面的例子中建立的DOMDocument對象並載入XML從“ note.xml ”到它。

然後saveXML ( )函數來把內部的XML檔案到一個字串,這樣我們就可以列印出來。




通過XML的迴圈
我們要初始化XML分析器,負載的XML ,並通過迴路的所有要素<note>內容:

例如

 

<?php$xmlDoc = new DOMDocument();$xmlDoc>load("note.xml");
$x = $xmlDoc>documentElement;foreach ($x>childNodes AS $item)  {  print $item>nodeName . " = " . $item>nodeValue . "<br />";  }?>
 
結果為.
 
#text = to = Tove#text = from = Jani#text = heading = Reminder#text = body = Don't forget me this weekend!#text =
 
          

在上面的例子中看到,有空白文本節點之間的每個元素。

當XML的產生,往往含有白色空間之間的節點。對的XML DOM解析器把這些作為普通的內容,

如果你不知道,他們有時會造成問題。

轉載請註明來自:  www.111cn.net/phper/php.html  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.