cari
Rumahphp教程php手册如何正确使用PHP DOM-XML创建XML文件
如何正确使用PHP DOM-XML创建XML文件Jun 13, 2016 am 11:08 AM
phpxmlgunaciptawujudbagaimanakamidokumenjambetulmenghuraikankelakuanlulus

我们在创建XML文件并对其进行解析时,通常都会用到

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

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


Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
如何在Go中使用命名管道?如何在Go中使用命名管道?May 11, 2023 pm 04:22 PM

命名管道是一种在操作系统中相对比较低级的进程通信方式,它是一种以文件为中介的进程通信方式。在Go语言中,通过os包提供了对命名管道的支持。在本文中,我们将介绍如何在Go中使用命名管道来实现进程间通信。一、命名管道的概念命名管道是一种特殊的文件,可以被多个进程同时访问。在Linux系统中,命名管道是一种特殊的文件类型,它们存在于文件系统的某个位置上,并且可以在

如何在Go中使用第三方库?如何在Go中使用第三方库?May 11, 2023 pm 03:30 PM

在Go语言中,使用第三方库是非常方便的。许多优秀的第三方库和框架可以帮助我们快速地开发应用程序,同时也减少了我们自己编写代码的工作量。但是如何正确地使用第三方库,确保其稳定性和可靠性,是我们必须了解的一个问题。本文将从以下几个方面介绍如何使用第三方库,并结合具体例子进行讲解。一、第三方库的获取Go语言中获取第三方库有以下两种方式:1.使用goget命令首先

如何在PHP中使用协程?如何在PHP中使用协程?May 12, 2023 am 08:10 AM

随着传统的多线程模型在高并发场景下的性能瓶颈,协程成为了PHP编程领域的热门话题。协程是一种轻量级的线程,能够在单线程中实现多任务的并发执行。在PHP的语言生态中,协程得到了广泛的应用,比如Swoole、Workerman等框架就提供了对协程的支持。那么,如何在PHP中使用协程呢?本文将介绍一些基本的使用方法以及常见的注意事项,帮助读者了解协程的运作原理,以

如何在 Windows 11 中按需使用 OneDrive 的文件如何在 Windows 11 中按需使用 OneDrive 的文件Apr 14, 2023 pm 12:34 PM

<p>Windows 系统上的 OneDrive 应用程序允许您将文件存储在高达 5 GB 的云上。OneDrive 应用程序中还有另一个功能,它允许用户选择一个选项,是将文件保留在系统空间上还是在线提供,而不占用您的系统存储空间。此功能称为按需文件。在这篇文章中,我们进一步探索了此功能,并解释了有关如何在 Windows 11 电脑上的 OneDrive 中按需使用文件的各种选项。</p><h2>如何使用 On

如何在Go中使用WebSocket?如何在Go中使用WebSocket?May 11, 2023 pm 04:17 PM

近年来,WebSocket技术已经成为了Web开发中不可或缺的一部分。WebSocket是一种在单个TCP连接上进行全双工通信的协议,它使得客户端和服务器之间的通信更加流畅和高效。如今,很多现代的Web应用程序都使用了WebSocket技术,例如实时聊天、在线游戏以及实时数据可视化等。Go语言作为一个现代的编程语言,自然也提供了很好的支持WebSock

如何在Go中使用音频处理?如何在Go中使用音频处理?May 11, 2023 pm 04:37 PM

随着音频处理在各种应用场景中的普及,越来越多的程序员开始使用Go编写音频处理程序。Go语言作为一种现代化的编程语言,具有优秀的并发性和高效率的特点,使用它进行音频处理十分方便。本文将介绍如何在Go中使用音频处理技术,包括读取、写入、处理和分析音频数据等方面的内容。一、读取音频数据在Go中读取音频数据有多种方式。其中比较常用的是使用第三方库进行读取,比如go-

如何在Go中使用嵌套结构?如何在Go中使用嵌套结构?May 11, 2023 pm 04:39 PM

在Go语言中,嵌套结构是一种非常常见的技术。通过将一个结构体嵌入到另一个结构体中,我们可以将复杂的数据模型分解成更小的部分,使其易于理解和维护。本篇文章将介绍如何在Go中使用嵌套结构以及一些最佳实践。一、定义嵌套结构首先,我们需要定义一个包含嵌套结构的结构体。下面的代码演示了如何定义一个包含Person结构体的Company结构体:typePersons

如何在Go中使用反转依赖?如何在Go中使用反转依赖?May 11, 2023 pm 03:39 PM

Go语言中的反转依赖是一种非常实用的技术,它可以帮助开发者更好地进行软件开发。在本文中,我们将详细介绍什么是反转依赖,并且演示如何在Go语言中使用它来优化软件。一、什么是反转依赖在传统的软件开发中,模块之间存在着依赖关系。一些模块被其他模块所依赖,而另一些模块则依赖于其他模块。这种依赖关系在软件中非常普遍,但同时也会带来很多问题。一旦一个模块的代码发生了变化

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual