如果你计划在PHP中处理XML数据,就需要一个XML库为你提取数据。例如解析RSS feed或是模式匹配(寻找XHTML图像或是元素)。
SimpleXML扩展提供了一个非常直观的API,更容易将XML转换成对象和遍历元素。唯一的缺点就是在内存中加载整个文档或是非常大的XML文件,它的性能可能是一个问题。
如果性能是一个考虑因素,你可以去使用XMLReader。XMLReader是一个XML解析器,它通过在加载过程中遍历每个节点,在而不是在内存中加载整个文档。
下面的代码使用简单的XML可以从我的网站获取最新的RSS。在我的服务器上,我已经使用Curl库处理HTTP连接,因为它支持服务器托管并且更安全。
<ol class="dp-xml"> <li class="alt"><span><span class="tag"></span><span class="tag-name">php</span><span> </span></span></li> <li><span> </span></li> <li class="alt"><span>function load_file($url) { </span></li> <li> <span>$</span><span class="attribute">ch</span><span> = </span><span class="attribute-value">curl_init</span><span>($url); </span> </li> <li class="alt"><span>#Return http response in string </span></li> <li><span>curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); </span></li> <li class="alt"> <span>$</span><span class="attribute">xml</span><span> = </span><span class="attribute-value">simplexml_load_string</span><span>(curl_exec($ch)); </span> </li> <li><span>return $xml; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"> <span>$</span><span class="attribute">feedurl</span><span> = </span><span class="attribute-value">'http://naveenbalani.com/index.php/feed/'</span><span>; </span> </li> <li> <span>$</span><span class="attribute">rss</span><span> = </span><span class="attribute-value">load_file</span><span>($feedurl); </span> </li> <li class="alt"><span> </span></li> <li> <span>foreach ($rss-</span><span class="tag">></span><span>channel-</span><span class="tag">></span><span>item as $item) { </span> </li> <li class="alt"> <span>echo "</span><span class="tag"><span class="tag-name">h2</span><span class="tag">></span><span>" . $item-</span><span class="tag">></span><span>title . "</span><span class="tag"></span><span class="tag-name">h2</span><span class="tag">></span><span>"; </span></span> </li> <li> <span>echo "</span><span class="tag"><span class="tag-name">p</span><span class="tag">></span><span>" . $item-</span><span class="tag">></span><span>description . "</span><span class="tag"></span><span class="tag-name">p</span><span class="tag">></span><span>"; </span></span> </li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
http://css.dzone.com/news/parsing-xml-data-php

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
