我们在创建XML文件并对其进行解析时,通常都会用到PHP DOM-XML。那么如何才能正确的使用它来实现这一功能呢?下面我们就来仔细看下它的应用方法。#t#

创新互联建站为客户提供专业的成都网站设计、做网站、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。
PHP DOM-XML的应用代码示例:
- < ?php 
- /**  
- * Topic: Create and parse XML files using PHP DOM-XML  
- * Source:http://www.php.net/domxml  
- * Reference: http://www.zugeschaut-und-mitgebaut.de/php/extension.domxml.html  
- * Author:urs@circle.ch, 16-1-2001  
- *  
- */ 
- // 使用PHP DOM-XML创建和解析XML文件 
- //创建XML文档对象;以后的处理过程将在此基础上进行 
- $doc = new_xmldoc("1.0" ); 
- //创建根节点,并设置一个属性 
- $root = $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 download the latest  
- release of libxml either as a source archive or  
- RPM package from http://www.xmlsoft.org.  
- 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 PHP4?" ); 
- // 创建一个不直接赋值的节点 
- $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("< pre>".htmlspecialchars($doc->dumpmem() )."< /pre>" ); 
- // write to file 
- //写回到文件  
- $fp = fopen("test_dom.xml", "w+" ); 
- fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() )); 
- fclose($fp); 
- //现在使用xpath从XML文档中得到内容 
- $doc = xmldoc(join("", file("test_dom.xml")) ); 
- $ctx = xpath_new_context($doc ); 
- //所有对象 
- $foo = xpath_eval($ctx, "//child::*"); 
- print_r($foo); 
- print("< br/>< br/>"); 
- //text node 对象 
- $foo = xpath_eval($ctx, "//text"); 
- print_r($foo); 
- print("< br/>< br/>"); 
- // ***个text node对象 
- $foo = xpath_eval($ctx, "//text[1]"); 
- print_r($foo); 
- print("< br/>< br/>"); 
- // 第二个text node对象 
- $foo = xpath_eval($ctx, "//text[2]"); 
- print_r($foo); 
- print("< br/>< br/>"); 
- // 第三个answer对象 
- $foo = xpath_eval($ctx, "//answer[3]"); 
- print_r($foo); 
- print("< br/>< br/>"); 
- //第三个text node的类型,名称和内容  
- $foo = xpath_eval($ctx, "//text[3]"); 
- $tmp = $foo->nodeset; 
- print_r($tmp); 
- print("< br/>"); 
- print($tmp[0]->type) . "; "; 
- print($tmp[0]->name) . "; "; 
- print($tmp[0]->content); 
- ?>
需要说明,PHP DOM-XML只能在PHPPHP4.0.x + linux上运行
            
            新闻标题:如何正确使用PHPDOM-XML创建XML文件            
            网页路径:
http://zsjierui.cn/article/cdgpsii.html