使用 simplexml 在 html 网站中显示来自 xml 的图像

Posted

技术标签:

【中文标题】使用 simplexml 在 html 网站中显示来自 xml 的图像【英文标题】:Display image from xml in html Website with simplexml 【发布时间】:2019-07-24 21:31:46 【问题描述】:

我有一个包含img scr= 路径的xml 文件(xml.php3)。 我想在我的网站上展示一些图片。 我已经尝试使用带有 simplexml 的 xml 文件的文本源,效果很好。但我现在不知道如何处理图像。

我的 xml 文本数据:

<ROOMTYP ID="161792">
    <ID>161792</ID>
    <DISCRIPTION>Rooms for Rent</DISCRIPTION> 

我用于在我的网站上展示:

<?php
$xml = simplexml_load_file("xml.php3");

$Element= $xml->xpath('//ROOMTYP[@ID="161792"]');
$Ausgabe= $Element[0];
echo $Ausgabe->DISCRIPTION;
?>

我的图片xml数据:

<IMAGES ID="6">
              <ID>6</ID>
              <PIC>&lt;IMG SRC="https://images.img.com/room_pics/zim_238842_006.jpg"   BORDER=0></PIC>

如何编写 simplexml 代码以在我的网站上显示该图像?

【问题讨论】:

这两个 XML 位如何相互关联——它们是同一个元素的一部分吗? 两者是同一xml文件中的单独元素。 【参考方案1】:

如果您想通过 IMAGES 元素的 ID 属性来识别它,那么 XPath 可以再次为您找到它。主要区别在于,如果您在文本中有&amp;lt;,如果您想解码它们,您可以使用html_entity_decode() 转换它们,但您需要确保将结果转换为字符串((string))为xpath() 的结果是节点对象的列表...

$element= $xml->xpath('//IMAGES[@ID="6"]');
echo html_entity_decode((string)$element[0]->PIC);

给...

<IMG SRC="https://images.img.com/room_pics/zim_238842_006.jpg"
          BORDER=0>

【讨论】:

以上是关于使用 simplexml 在 html 网站中显示来自 xml 的图像的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中使用 SimpleXml 函数时,XML 文件内容未显示在 apache2 localhost 上

在 PHP 中使用 SimpleXml 函数时,XML 文件内容未显示在 apache2 localhost 上

解析 XML 文件以在网站上使用 [重复]

使用simplexml处理xml文件的Tips

使用来自子元素的数据在 php 中使用 simplexml 选择其他元素中的数据

Drupal Ubercart Google checkout 中的 SimpleXML 问题