PHP创建与解析 XML 1 (36),xml36_PHP教程
PHP创建与解析 XML 1 (36),xml36
一.使用SimpleXML操控XML
要处理XML 文件,有两种传统的处理思路:SAX 和DOM。SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理;DOM 则将整个XML 文件构造为一棵DOM树,通过对DOM 树的遍历完成处理。这两种方法各有优缺点,SAX 的处理思路相对抽象,DOM 的处理过程相对烦琐,都不很适合新手的入门。PHP5 推出了一套新的XML 处理函数,即SimpleXML。名如其实,SimpleXML 本身小巧精干,只提供了少量的几个方法函数,但用它处理起XML 文件功能却非常强大,操作也非常的简单。
1.创建XML文件
$_xml =<<<<span>xml </span><?xml version=<span>"</span><span>1.0</span><span>"</span> encoding=<span>"</span><span>utf-8</span><span>"</span>?> <root> <version><span>1.0</span></version> <info>xml解析测试</info> <user> <name>张三</name> <url>http:<span>//</span><span>www.ss.com</url></span> <author sex=<span>"</span><span>男</span><span>"</span>>张三</author> </user> <user> <name>宿舍</name> <url>http:<span>//</span><span>www.ss.com</url></span> <author sex=<span>"</span><span>女</span><span>"</span>>谁谁谁</author> </user> <user> <name>电驴</name> <url>http:<span>//</span><span>www.ss.com</url></span> <author sex=<span>"</span><span>男</span><span>"</span>>姓黄的</author> </user> </root><span> xml; $_sxe</span>= <span>new</span> SimpleXMLElement($_xml); <span>//</span><span>创建对象解析xml字符串</span> $_sxe->asXML(<span>'</span><span>test.xml</span><span>'</span>); <span>//</span><span>生成XML文件</span>
2.载入XML文件
$_sxe= simplexml_load_file(<span>"</span><span>test.xml</span><span>"</span>); <span>//</span><span>载入XML文件</span> var_dump($_sxe); <span>//</span><span>输出相关信息</span> print_r($_sxe); <span>//</span><span>输出主要信息</span> Reflection::export(<span>new</span> ReflectionClass($sxe)); <span>//</span><span>用反射查看详情</span>
3.解析XML文件
$_sxe= simplexml_load_file(<span>"</span><span>test.xml</span><span>"</span>); <span>//</span><span>载入XML文件</span> var_dump($_sxe); <span>//</span><span>输出相关信息</span> print_r($_sxe); <span>//</span><span>输出主要信息</span> Reflection::export(<span>new</span> ReflectionClass($_sxe)); <span>//</span><span>用发射查看详情</span> echo $_sxe->asXML();<span>//</span><span>打印整个XML</span>
4.读出XML数据
$_sxe= simplexml_load_file(<span>"</span><span>test.xml</span><span>"</span><span>); </span><span>//</span><span>读取一级节点的值,比如version标签</span> echo $_sxe-><span>version; </span><span>//</span><span>如果有多个,可以设置它的数字下标</span> echo $_sxe->version[<span>2</span><span>]; </span><span>//</span><span>如果想要全部打印出来,可以用遍历</span> <span>foreach</span> ($_sxe->version <span>as</span><span> $_version) { echo </span><span>'</span><span>[</span><span>'</span>.$_version.<span>'</span><span>]</span><span>'</span><span>; } </span><span>//</span><span>访问二级节点的name</span> echo $_sxe->user[<span>1</span>]-><span>name; </span><span>//</span><span>获取所有二级节点的name值</span> <span>foreach</span> ($_sxe->user <span>as</span><span> $_user) { echo </span><span>'</span><span>[</span><span>'</span>.$_user->name.<span>'</span><span>]</span><span>'</span><span>; } </span><span>//</span><span>获取二级节点的标签的属性</span> echo $_sxe->user[<span>1</span>]->author->attributes();
5.使用XPath来获取节点
$_sxe= simplexml_load_file(<span>"</span><span>test.xml</span><span>"</span><span>); </span><span>//</span><span>使用XPath获取节点信息</span> $_version = $_sxe->xpath(<span>'</span><span>/root/version</span><span>'</span><span>); echo $_version[</span><span>1</span><span>]; </span><span>//</span><span>遍历version</span> <span>foreach</span> ($_version <span>as</span><span> $_v) { echo </span><span>'</span><span>[</span><span>'</span>.$_v.<span>'</span><span>]</span><span>'</span><span>; } </span><span>//</span><span>访问二级节点</span> $_user = $_sxe->xpath(<span>'</span><span>/root/user</span><span>'</span><span>); echo $_user[</span><span>2</span>]-><span>name; </span><span>//</span><span>遍历二级节点</span> <span>foreach</span> ($_user <span>as</span><span> $_u) { echo </span><span>'</span><span>[</span><span>'</span>.$_u->name.<span>'</span><span>]</span><span>'</span><span>; } </span><span>//</span><span>访问属性</span> echo $_user[<span>1</span>]->author->attributes();
二.使用DOMDocument操控XML
很多情况下,手工生成标记要求从上到下生成文档,必须保证标签都是完整的,开始和结束标签。尽管借助于一些PHP函数或类可以有所改善,不过PHP还提供了一组更有帮助的内置对象和函数。文档对象模型(Document Object Model,DOM)提供了一个树状结构,能很容易创建和处理标签。
1.DOMDocument解析XML
<span>//</span><span>创建一个DOMDocument()</span> $_doc = <span>new</span><span> DOMDocument(); </span><span>//</span><span>载入xml</span> $_doc->load(<span>'</span><span>test.xml</span><span>'</span><span>); </span><span>//</span><span>取version标签</span> $_version = $_doc->getElementsByTagName(<span>'</span><span>version</span><span>'</span><span>); echo $_version</span>->item(<span>2</span>)-><span>nodeValue; </span><span>//</span><span>遍历version标签</span> <span>foreach</span> ($_version <span>as</span><span> $v) { echo $v</span>-><span>nodeValue; }</span>
2.DOMDocument生成XML
<span>//</span><span>声明xml</span> $_doc = <span>new</span> DOMDocument(<span>'</span><span>1.0</span><span>'</span>,<span>'</span><span>utf-8</span><span>'</span><span>); </span><span>//</span><span>排版格式</span> $_doc->formatOutput = <span>true</span><span>; </span><span>//</span><span>创建一个主标签</span> $_root = $_doc->createElement(<span>'</span><span>root</span><span>'</span><span>); </span><span>//</span><span>创建一个一级标签version</span> $_version = $_doc->createElement(<span>'</span><span>version</span><span>'</span><span>); </span><span>//</span><span>给version标签里赋值</span> $_versionTextNode = $_doc->createTextNode(<span>'</span><span>1.0</span><span>'</span><span>); </span><span>//</span><span>将值放入version标签里</span> $_version-><span>appendChild($_versionTextNode); </span><span>//</span><span>将一级标签version放入root里</span> $_root-><span>appendChild($_version); </span><span>//</span><span>将主标签写入xml</span> $_doc-><span>appendChild($_root); </span><span>//</span><span>生成xml</span> $_doc->save(<span>'</span><span>aaa.xml</span><span>'</span>);

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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Mula-mula buka pycharm dan masukkan halaman utama pycharm. 2. Kemudian buat skrip python baru, klik kanan - klik baru - klik pythonfile. 3. Masukkan rentetan, kod: s="-". 4. Kemudian anda perlu mengulang simbol dalam rentetan sebanyak 20 kali, kod: s1=s*20 5. Masukkan kod output cetakan, kod: print(s1). 6. Akhir sekali jalankan skrip dan anda akan melihat nilai pulangan kami di bahagian bawah: - diulang 20 kali.

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Dalam pembangunan PHP, kita sering menghadapi keperluan untuk menukar jenis int kepada jenis rentetan. Penukaran ini boleh dicapai dalam pelbagai cara Artikel ini akan memperkenalkan beberapa kaedah biasa secara terperinci, dengan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Gunakan fungsi terbina dalam PHP strval(). PHP menyediakan fungsi terbina dalam strval() yang boleh menukar pembolehubah jenis yang berbeza kepada jenis rentetan. Apabila kita perlu menukar jenis int kepada jenis rentetan,

Tajuk: Bagaimana untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang Dalam bahasa Go, kadangkala kita perlu menentukan sama ada rentetan berakhir dengan aksara tertentu Ini adalah perkara biasa semasa memproses rentetan. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan fungsi ini dan memberikan contoh kod untuk rujukan anda. Mula-mula, mari kita lihat cara untuk menentukan sama ada rentetan berakhir dengan aksara tertentu dalam Golang. Aksara dalam rentetan dalam Golang boleh diperoleh melalui pengindeksan, dan panjang rentetan itu boleh

Bagaimana untuk menyemak sama ada rentetan bermula dengan aksara tertentu dalam Golang? Apabila pengaturcaraan di Golang, anda sering menghadapi situasi di mana anda perlu menyemak sama ada rentetan bermula dengan aksara tertentu. Untuk memenuhi keperluan ini, kita boleh menggunakan fungsi yang disediakan oleh pakej rentetan di Golang untuk mencapainya. Seterusnya, kami akan memperkenalkan secara terperinci cara menggunakan Golang untuk menyemak sama ada rentetan bermula dengan aksara tertentu, dengan contoh kod tertentu. Di Golang, kita boleh menggunakan HasPrefix daripada pakej rentetan

Kaedah untuk menyelesaikan masalah aksara Cina yang kacau apabila menukar rentetan perenambelasan dalam PHP Dalam pengaturcaraan PHP, kadangkala kita menghadapi situasi di mana kita perlu menukar rentetan heksadesimal kepada aksara Cina biasa. Walau bagaimanapun, dalam proses penukaran ini, kadangkala anda akan menghadapi masalah aksara Cina yang kacau. Artikel ini akan memberi anda kaedah untuk menyelesaikan masalah aksara Cina yang bercelaru apabila menukar perenambelasan kepada rentetan dalam PHP dan memberikan contoh kod khusus. Gunakan fungsi hex2bin() untuk penukaran heksadesimal PHP terbina dalam fungsi hex2bin() boleh menukar 1

Bahasa Go ialah bahasa pengaturcaraan yang berkuasa dan fleksibel yang menyediakan fungsi pemprosesan rentetan yang kaya, termasuk pemintasan rentetan. Dalam bahasa Go, kita boleh menggunakan kepingan untuk memintas rentetan. Seterusnya, kami akan memperkenalkan secara terperinci cara memintas rentetan dalam bahasa Go, dengan contoh kod khusus. 1. Gunakan penghirisan untuk memintas rentetan Dalam bahasa Go, anda boleh menggunakan ungkapan menghiris untuk memintas sebahagian daripada rentetan. Sintaks ungkapan slice adalah seperti berikut: slice:=str[start:end]where, s

Operasi Rentetan PHP: Kaedah Praktikal untuk Mengalih Keluar Ruang Secara Berkesan Dalam pembangunan PHP, kita sering menghadapi situasi di mana kita perlu mengalih keluar ruang daripada rentetan. Mengalih keluar ruang boleh menjadikan rentetan lebih bersih dan memudahkan pemprosesan dan paparan data seterusnya. Artikel ini akan memperkenalkan beberapa kaedah yang berkesan dan praktikal untuk mengalih keluar ruang, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan fungsi PHP terbina dalam trim() fungsi terbina dalam PHP boleh mengalih keluar ruang pada kedua-dua hujung rentetan (termasuk ruang, tab, baris baharu, dsb.), yang sangat mudah dan mudah. untuk menggunakan.

Petua Padanan Rentetan PHP: Elakkan Ungkapan Disertakan Kabur Dalam pembangunan PHP, pemadanan rentetan ialah tugas biasa, biasanya digunakan untuk mencari kandungan teks tertentu atau untuk mengesahkan format input. Walau bagaimanapun, kadangkala kita perlu mengelak daripada menggunakan ungkapan kemasukan yang tidak jelas untuk memastikan ketepatan padanan. Artikel ini akan memperkenalkan beberapa teknik untuk mengelakkan ungkapan kemasukan yang samar-samar semasa melakukan pemadanan rentetan dalam PHP dan memberikan contoh kod khusus. Gunakan fungsi preg_match() untuk padanan tepat Dalam PHP, anda boleh menggunakan preg_mat
