search
Homephp教程php手册解析PHP中的XML数据

解析PHP中的XML数据

Jun 13, 2016 am 11:12 AM
phpxmlexistdeal withLibraryextractdataparseplanneed

如果你计划在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


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

mPDF

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

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

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.