使用PHP DOM-XML建立和解析XML檔案 (轉)
/**
* Topic: Create and parse files using PHP -XML
* : /domxml">
* Reference:
* Author: to:urs@circle.ch">urs@circle.ch, 16-1-2001
*
*/
// 使用PHP DOM-XML建立和解析XML
//建立XML文件;以後的處理過程將在此基礎上進行
$doc = new_xmldoc("1.0" );
//建立根節點,並設定一個屬性
$ = $doc->add_root("faq" );
$root->setattr("page", "32" );
//子節點
$one = $root->new_child("question", "");
//為子節點設定屬性
$one->setattr("number", "1");
//question也建立子節點,並且給它賦值
$one->new_child("text", "1. Where to get libxml-2.0.0?");
$one->new_child("answer", "You can the latest
release of libxml either as a source archive or
RPM package from .
The current version is libxml2-2.2.1." );
$two = $root->new_child("question", "" );
$two->setattr("number", "2");
$two->new_child("text", "2. How to configure ?" );
// 建立一個不直接賦值的節點
$twoone = $two->new_child("answer", "");
// 然後給它單獨賦值
$twoone->set_content("DIR is the libxml install directory
(if you just use --with-dom it defaults
to /usr), I needed to use --with-dom=/usr/local" );
$three = $root->new_child("question", "" );
$three->setattr("number", "7" );
$three->new_child("text", "7. How to use DOM XML function ?" );
$three->new_child("answer", "Read this document source for
a simple example." );
//輸出到Browser
print("
".htmlspecialchars($doc->dumpmem() )."" );
// write to file
//寫回到檔案
$fp = fopen("test_dom.xml", "w+" );
fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() ));
fclose($fp);
// ------------------------------------------------------
//現在使用從XML文件中得到內容
$doc = xmldoc(join("", file("test_dom.xml")) );
$ctx = xpath_new_context($doc );
//所有物件
$foo = xpath_eval($ctx, "//child::*");
print_r($foo);
print("
");
//text node 物件
$foo = xpath_eval($ctx, "//text");
print_r($foo);
print("
");
// 第一個text node物件
$foo = xpath_eval($ctx, "//text[1]");
print_r($foo);
print("
");
// 第二個text node物件
$foo = xpath_eval($ctx, "//text[2]");
print_r($foo);
print("
");
// 第三個answer物件
$foo = xpath_eval($ctx, "//answer[3]");
print_r($foo);
print("
");
//第三個text node的型別,名稱和內容
$foo = xpath_eval($ctx, "//text[3]");
$tmp = $foo->nodeset;
print_r($tmp);
print("
");
print($tmp[0]->type) . "; ";
print($tmp[0]->name) . "; ";
print($tmp[0]->content);
?>
需要說明,PHP DOM 只能在PHP PHP4.0.x + 上執行
PHPDOM類庫請到.com/download">下載
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990353/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Java 解析XML檔案JavaXML
- python XML 檔案解析PythonXML
- jdom解析xml檔案XML
- 如何使用 ABAP 程式碼解析 XML 檔案XML
- php建立XMLPHPXML
- XML 檔案解析實踐 (DOM 解析)XML
- Python解析XML檔案生成HTMLPythonXMLHTML
- 元件使用總結:使用 JAXB 實現 XML檔案和java物件互轉元件XMLJava物件
- php獲取xml檔案內容PHPXML
- 基於 DOM 的 XML 檔案解析類XML
- c#(解析xml檔案基礎方法)C#XML
- springMVC---配置檔案解析(web.xml)SpringMVCWebXML
- PHP xml 轉陣列 陣列轉 xml 操作PHPXML陣列
- mybatis原始碼配置檔案解析之五:解析mappers標籤(解析XML對映檔案)MyBatis原始碼APPXML
- 使用xml檔案配置SSM整合XMLSSM
- xml檔案XML
- 使用C#讀寫xml檔案C#XML
- mybatis的全域性配置檔案SqlMapConfig.xml解析MyBatisSQLXML
- 使用PHP原生匯出Excel和CSV檔案PHPExcel
- QDomDocument 讀取和編輯xml檔案XML
- Mybatis 學習筆記(一)——配置檔案SqlMapConfig.xml和對映檔案Mapper.xmlMyBatis筆記SQLXMLAPP
- php檔案Hash如何使用PHP
- 如何在 Linux 上建立和使用交換檔案Linux
- Java 檔案處理完全指南:建立、讀取、寫入和刪除檔案詳細解析Java
- 使用 PHP 進行建立檔案並在下載後進行刪除PHP
- Torrent檔案的解析與轉換
- ini檔案解析c庫(iniparser)【轉】
- ie中jQuery無法解析xml檔案的解決方案jQueryXML
- AndroidMainfest.xml檔案AndroidAIXML
- 使用python的netCDF4庫讀取.nc檔案 和 建立.nc檔案Python
- java 語音用xml檔案實現圖形介面 xml檔案JavaXML
- xml是什麼格式的檔案 xml檔案怎麼開啟XML
- nginx 如何解析php檔案php-fpm的解釋NginxPHP
- php解析mpp檔案中的前置任務PHP
- 解析XML檔案時,無效的XML 字元 (Unicode: 0x7)異常處理XML字元Unicode
- 使用DocumentBuilderFactory解析XML淺談UIXML
- 死磕Spring之IoC篇 - BeanDefinition 的解析階段(XML 檔案)SpringBeanXML
- 死磕Spring之IoC篇 - 解析自定義標籤(XML 檔案)SpringXML
- Android學習筆記之AndroidManifest.xml檔案解析(詳解)Android筆記XML