如何正确使用PHPDOM-XML创建XML文件

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

创新互联建站为客户提供专业的成都网站设计、做网站、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。

PHP DOM-XML的应用代码示例:

  1. < ?php
  2. /** 
  3. * Topic: Create and parse XML files using PHP DOM-XML 
  4. * Source:http://www.php.net/domxml 
  5. * Reference: http://www.zugeschaut-und-mitgebaut.de/php/extension.domxml.html 
  6. * Author:urs@circle.ch, 16-1-2001 
  7. */
  8. // 使用PHP DOM-XML创建和解析XML文件
  9. //创建XML文档对象;以后的处理过程将在此基础上进行
  10. $doc = new_xmldoc("1.0" );
  11. //创建根节点,并设置一个属性
  12. $root = $doc->add_root("faq" );
  13. $root->setattr("page", "32" );
  14. //子节点
  15. $one = $root->new_child("question", "");
  16. //为子节点设置属性
  17. $one->setattr("number", "1");
  18. //question也创建子节点,并且给它赋值 
  19. $one->new_child("text", "1. Where to get libxml-2.0.0?");
  20. $one->new_child("answer", "You can download the latest 
  21. release of libxml either as a source archive or 
  22. RPM package from http://www.xmlsoft.org. 
  23. The current version is libxml2-2.2.1." );
  24. $two = $root->new_child("question", "" );
  25. $two->setattr("number", "2");
  26. $two->new_child("text", "2. How to configure PHP4?" );
  27. // 创建一个不直接赋值的节点
  28. $twoone = $two->new_child("answer", "");
  29. // 然后给它单独赋值
  30. $twoone->set_content("DIR is the libxml install directory 
  31. (if you just use --with-dom it defaults 
  32. to /usr), I needed to use --with-dom=/usr/local" );
  33. $three = $root->new_child("question", "" );
  34. $three->setattr("number", "7" );
  35. $three->new_child("text", "7. How to use DOM XML function ?" );
  36. $three->new_child("answer", "Read this document source for 
  37. a simple example." );
  38. //输出到Browser 
  39. print("< pre>".htmlspecialchars($doc->dumpmem() )."< /pre>" );
  40. // write to file
  41. //写回到文件 
  42. $fp = fopen("test_dom.xml", "w+" );
  43. fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() ));
  44. fclose($fp);
  45. //现在使用xpath从XML文档中得到内容
  46. $doc = xmldoc(join("", file("test_dom.xml")) );
  47. $ctx = xpath_new_context($doc );
  48. //所有对象
  49. $foo = xpath_eval($ctx, "//child::*");
  50. print_r($foo);
  51. print("< br/>< br/>");
  52. //text node 对象
  53. $foo = xpath_eval($ctx, "//text");
  54. print_r($foo);
  55. print("< br/>< br/>");
  56. // ***个text node对象
  57. $foo = xpath_eval($ctx, "//text[1]");
  58. print_r($foo);
  59. print("< br/>< br/>");
  60. // 第二个text node对象
  61. $foo = xpath_eval($ctx, "//text[2]");
  62. print_r($foo);
  63. print("< br/>< br/>");
  64. // 第三个answer对象
  65. $foo = xpath_eval($ctx, "//answer[3]");
  66. print_r($foo);
  67. print("< br/>< br/>");
  68. //第三个text node的类型,名称和内容 
  69. $foo = xpath_eval($ctx, "//text[3]");
  70. $tmp = $foo->nodeset;
  71. print_r($tmp);
  72. print("< br/>");
  73. print($tmp[0]->type) . "; ";
  74. print($tmp[0]->name) . "; ";
  75. print($tmp[0]->content);
  76. ?>

需要说明,PHP DOM-XML只能在PHPPHP4.0.x + linux上运行

网页题目:如何正确使用PHPDOM-XML创建XML文件
网站地址:http://www.csdahua.cn/qtweb/news0/256500.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网