[英]loading from an XML file into PHP to generate content
所以我想做的是将XML文件中的数据加载到php中,并使用这些变量生成内容。 对于每个项目,我都希望获得一组新的变量值并将其打印到页面上。 如果有4个interfaceItem,则应打印4个具有4个唯一标题的displayWrappers。 这对我不起作用。 是否有更好或更有效的方法? 我现在遇到的错误是:
注意:试图获取非对象的属性
警告:为foreach()提供了无效的参数
<?php
$xmldata = simplexml_load_file('elements.xml');
foreach($xmldata->portfolio->interface->interfaceItem as $item) :?>
<?php
$title = ($item->title);
$desc = ($item->description);
$whatOne = ($item->whatOne);
$whatTwo = ($item->whatTwo);
$location = ($item->location);
?>
<div class="displayWrapper">
<div class="display">
<p> <?=$title ?> </p>
</div>
</div>
<?php endforeach;?>
<portfolio>
<interface>
<interfaceItem>
<title>modi tempora</title>
<decription>lorum ipsum</decription>
<whatOne> dolor sit amet</whatOne>
<whatTwo>sed quia non</whatTwo>
<location>i/blah.jpg</location>
</interfaceItem>
<interfaceItem>
<title>magnam aliquam</title>
<decription>omnis voluptas assumenda est, omnis dolor repellendus.</decription>
<whatOne>expedita distinctio</whatOne>
<whatTwo>possimus, omnis voluptas</whatTwo>
<location>i/blah2.jpg</location>
</interfaceItem>
</interface>
</portfolio>
我将在这里的黑暗中进行突击检查,并将其减少为两个可能的问题中的一个或两个。
您的XML文件如下所示
<portfolio>
<interface>
<interfaceItem>
使用SimleXML,第一个元素是根节点。 您需要更改代码才能使用
foreach ($xmldata->interface->interfaceItem as $item)
SimpleXML元素迭代区分大小写。 如果您的XML看起来像这样
<root>
<Portfolio>
<Interface>
<InterfaceItem>
您需要将代码更改为
foreach ($xmldata->Portfolio->Interface->InterfaceItem as $item)
给定您问题中的XML样本,如果那是elements.xml
的内容,它将简单地是
foreach ($xmldata->interfaceItem as $item)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.