源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用PHP DOM-XML创建和解析XML文件

  • 时间:2021-08-29 15:35 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用PHP DOM-XML创建和解析XML文件
使用PHP DOM-XML创建和解析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 只能在PHP  PHP4.0.x + linux上运行 PHPDOM类库请到http://www.zend.com/download下载
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部