使用 PHP 从 xml 文件中提取一些 CDATA

我必须从 xml 文件中提取一些数据。在这个文件中有一些包含 CDATA 内容的标签,我不尝试提取这些内容。


该文件是这样的:


<treeplat>

<ad>

<id>965192-VR</id>

<region>VT</region>

<description>

<![CDATA[

Orte scalo. Vicinissimo alla stazione, in zona tranquilla e panoramica, proponiamo appartamento di recente costruzione così composto: ingresso, salone con ampio angolo cottura e balcone, disimpegno, camera matrimoniale con balcone, cantina e posto auto.

]]>

</description>

<pictures>

<picture>

<picture_url>

<![CDATA[

http://www.immobile.net/media/foto/1440/9f352078-885d-4281-a36d-1d22b3cbdcd9-x.jpg

]]>

</picture_url>

</picture>

<picture>

<picture_url>

<![CDATA[

http://www.immobile.net/media/foto/1440/992a5c0f-62dd-48f2-8c41-9b8ee9e06ca9-x.jpg

]]>

</picture_url>

</picture>

<picture>

<picture_url>

<![CDATA[

http://www.immobile.net/media/foto/1440/a61b4705-ed0a-494b-86fc-e92bb4c916e7-x.jpg

]]>

</picture_url>

</picture>

<picture>

<picture_url>

<![CDATA[

http://www.immobile.net/media/foto/1440/d1817d53-51fa-43dc-baf9-d3457963e694-x.jpg

]]>

</picture_url>

</picture>

<picture>

<picture_url>

<![CDATA[

http://www.immobile.net/media/foto/1440/8299cd3e-f253-4c83-9629-fb77131a2efb-x.jpg

]]>

</picture_url>

</picture>

</pictures>

</ad>

</treeplat>

我是这样解析xml文件的:


$xml = simplexml_load_file(storage_path('app'.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.$percorso_file.'test.xml')); 

foreach ($xml->ad as $immobile) {

...

}

我的问题是标签。我尝试仅使用此代码提取第一个:


$picture_url_1 = (string)$immobile->pictures->picture->picture_url

但我不会尝试提取每个图片网址。


如何解析所有图片标签?


汪汪一只猫
浏览 171回答 2
2回答

偶然的你

你正在循环错误的变量。你需要的是:$pictures = $xml->ad->pictures->picture;foreach ($pictures as $picture) {&nbsp; &nbsp; echo $picture->picture_url;}(你可以用echo你需要的任何命令替换)
打开App,查看更多内容
随时随地看视频慕课网APP