如何正确使用PHP DOM-XML创建XML文件
我们在创建XML文件并对其进行解析时,通常都会用到
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上运行

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
