文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-17 19:26

关注

如何正确使用PHP DOM-XML创建XML文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

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

  1. < ?php  

  2.  

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

  4. //创建XML文档对象;以后的处理过程将在此基础上进行  

  5. $doc = new_xmldoc("1.0" );  

  6. //创建根节点,并设置一个属性  

  7. $root = $doc->add_root("faq" );  

  8. $root->setattr("page", "32" );  

  9. //子节点  

  10. $one = $root->new_child("question", "");  

  11. //为子节点设置属性  

  12. $one->setattr("number", "1");  

  13. //question也创建子节点,并且给它赋值   

  14. $one->new_child("text", "1. Where to get libxml-2.0.0?");  

  15. $one->new_child("answer", "You can download the latest   

  16. release of libxml either as a source archive or   

  17. RPM package from http://www.xmlsoft.org.   

  18. The current version is libxml2-2.2.1." );  

  19. $two = $root->new_child("question", "" );  

  20. $two->setattr("number", "2");  

  21. $two->new_child("text", "2. How to configure PHP4?" );  

  22. // 创建一个不直接赋值的节点  

  23. $twoone = $two->new_child("answer", "");  

  24. // 然后给它单独赋值  

  25. $twoone->set_content("DIR is the libxml install directory   

  26. (if you just use --with-dom it defaults   

  27. to /usr), I needed to use --with-dom=/usr/local" );  

  28. $three = $root->new_child("question", "" );  

  29. $three->setattr("number", "7" );  

  30. $three->new_child("text", "7. How to use DOM XML function ?" );  

  31. $three->new_child("answer", "Read this document source for   

  32. a simple example." );  

  33. //输出到Browser   

  34. print("< pre>".htmlspecialchars($doc->dumpmem() )."< /pre>" );  

  35. // write to file  

  36. //写回到文件   

  37. $fp = fopen("test_dom.xml", "w+" );  

  38. fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() ));  

  39. fclose($fp);  

  40. //现在使用xpath从XML文档中得到内容  

  41. $doc = xmldoc(join("", file("test_dom.xml")) );  

  42. $ctx = xpath_new_context($doc );  

  43. //所有对象  

  44. $foo = xpath_eval($ctx, "//child::*");  

  45. print_r($foo);  

  46. print("< br/>< br/>");  

  47. //text node 对象  

  48. $foo = xpath_eval($ctx, "//text");  

  49. print_r($foo);  

  50. print("< br/>< br/>");  

  51. // ***个text node对象  

  52. $foo = xpath_eval($ctx, "//text[1]");  

  53. print_r($foo);  

  54. print("< br/>< br/>");  

  55. // 第二个text node对象  

  56. $foo = xpath_eval($ctx, "//text[2]");  

  57. print_r($foo);  

  58. print("< br/>< br/>");  

  59. // 第三个answer对象  

  60. $foo = xpath_eval($ctx, "//answer[3]");  

  61. print_r($foo);  

  62. print("< br/>< br/>");  

  63. //第三个text node的类型,名称和内容   

  64. $foo = xpath_eval($ctx, "//text[3]");  

  65. $tmp = $foo->nodeset;  

  66. print_r($tmp);  

  67. print("< br/>");  

  68. print($tmp[0]->type) . "; ";  

  69. print($tmp[0]->name) . "; ";  

  70. print($tmp[0]->content);  

  71. ?> 

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

关于如何正确使用PHP DOM-XML创建XML文件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯