我正在使用一个文档记录不佳的API,为了使它与我正在使用的第三方程序兼容,有必要将其转换为定制的XML提要。
一些结果包含多个值,例如,图像节点包含一个图像节点,但可能有十个图像都需要驻留在自己的节点中。
我想使用foreach
语句使用所需的 URL 填充每个子节点,但我所做的不起作用,因为我不知道所需的语法。
<?php
/* Set Content Type to XML and Charset to UTF-8 */
header( "content-type: application/xml; charset=utf-8" );
/* Create XML Document */
$xml = new DOMDocument( "1.0", "utf-8" );
/* Create Nodes */
$my_images = $xml->createElement( "images" );
$my_image = $xml->createElement( "image", foreach($property['gallery']['images'] as $image) { $image['url']['large'] } );
我的预期输出是:
<images>
<image>example.com/image1.png</image>
<image>example.com/image2.png</image>
<image>example.com/image3.png</image>
</images>
一切似乎都运行良好,直到我到达需要分解结果并使用 foreach 语句的节点。
编辑
想知道 foreach 循环是否可用于附加 Child?$my_images->appendChild( $my_image );
简短的回答:
<?php
/* Set Content Type to XML and Charset to UTF-8 */
header( "content-type: application/xml; charset=utf-8" );
$xml = new SimpleXMLElement('<images/>');
foreach($property['gallery']['images'] as $image) {
$xml->addChild('image',$image['url']['large']);
}
print $xml->asXML();
结果为 :
<images>
<image>example.com/image1.png</image>
<image>example.com/image2.png</image>
<image>example.com/image3.png</image>
</images>