在PHP5中使用DOM控制XML(1)

黄舟
發布: 2023-03-03 14:08:01
原創
1155 人瀏覽過

PHP5中增強了XML的支持,使用DOM擴展了XML操作的能耐。這些函數作為 PHP5 核心的一部分,無需安裝即可使用。
   
  下面的範例簡單的示範了DOM對XML的操作,詳細解釋請看程式碼中的註解 
   
   
  /***/ $dom = new DomDocument(); 
  //然後載入XML檔案 
  $dom -> load("test.xml"); 
   
  //輸出XML檔案 
ent //header("Cont -type:text/xml; =gb2312"); 
  //echo $dom -> saveXML(); 
   
  //儲存XML文件,並回傳值為int(檔案大小,以位元組為單位) 
//$dom -filesave("newfile .xml"); 
   
  echo "


取得所有的title元素:
"; 
  $titles = $dom -> getElementsByTagName("title"); { 
   echo $node -> textContent . "
"; 
   //這樣也可以 
   //echo $node->firstChild->data . "
";  //echo $node->firstChild->data . "
"; "
從根結點遍歷所有結點:
"; 
  foreach ($dom->documentElement->childNodes as $items) { 
   //如果節點是一個元素(nodeType == 1)且名字是item就繼續循環 
   if ($items->nodeType == 1 && $items->nodeName == "item") { 
   foreach ($items->childNodes as $titles) { 🎠一個元素,而名字是title就印製它. 
   if ($titles->nodeType == 1 && $titles->nodeName == "title") { 
   print $titles->textContent . "n"; } 
   } 
  } 
  */ 
   
  //使用XPath查詢資料 
  echo "
使用XPath  //使用XPath查詢資料 
  echo "
使用XPath  //使用 $Path
titles = $xpath->query("/rss/channel/item/title"); 
  foreach ($titles as $node) 
  { 
   echo $node->textContent."
"; * 
  這樣和使用getElementsByTagName()方法差不多,但是Xpath要強大的多 
  深入一點可能是這樣: 
  /rss/channel/item[position() = 1]/title 返回第一個item元素的所有 
元素的所有 rss/channel/item/title[@id = '23'] 傳回所有含有id屬性且值為23的title 
  /rss/channel/&folder&/title 傳回所有articles元素下面的title(譯者註:&folder&代表目錄深度) 
  */

以上就是在PHP5使用DOM控制XML(1)的內容,
更多相關文章請關注PHP中文網(www.php.cn)!




相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!