我目前有问题,我的laravel网站返回错误。我正在使用以下代码:
@extends('base')
@section('title', 'Experience stages')
@stop
@section('main')
<div class="container">
<div class="doc-content-box">
<legend>Experience stages</legend>
<?php
$stagesdir = 'C:\Users\E1\Desktop\theforgottenserver-v0.2.15-win64console\Mystic Spirit\data\XML';
if(is_dir($stagesdir)) {
$list = simplexml_load_file($stagesdir.'\stages.xml');
?>
<table class="table table-striped">
<thead>
<tr>
<th>From Level</th>
<th>To Level</th>
<th>Experience multiplier</th>
</tr>
</thead>
<tbody>
<?php
foreach($list->children() as $stage) {
if ($stage['maxlevel'] == '') {
$stage['maxlevel'] = '*';
}
echo '
<tr>
<td>'.$stage['minlevel'].'</td>
<td>'.$stage['maxlevel'].'</td>
<td style="width: 30%">'.$stage['multiplier'].'x</td>
</tr>';
}
}
else{
echo '<div class="alert alert-danger"><span class="label label-important">Error parsing your Monsters XML file</span><br /><br /> Invalid path!</div> ';
}
?>
</tbody>
</table>
</div>
</div>
@stop
在那个foreach中,我不想使用$list->world->children()
但它对我不起作用。当我尝试运行我的页面时,出现以下错误:
main(): Node no longer exists
此外,这是我的XML文件:http://paste.laravel.com/Koh
我可以在没有->world
的情况下使用它,但是,正如您在我的XML文件中看到的那样,它在我的表格中就像<td>
。
答案 0 :(得分:1)
<config>
获取属性(maxlevel等),并且元素只有一个'enabled'属性。
试试这个;
<?php
$xml = '<stages>
<config enabled="0"/>
<stage minlevel="1" maxlevel="8" multiplier="7"/>
<stage minlevel="9" maxlevel="20" multiplier="6"/>
<stage minlevel="21" maxlevel="50" multiplier="5"/>
<stage minlevel="51" maxlevel="100" multiplier="4"/>
<stage minlevel="101" multiplier="5"/>
</stages>';
$list = simplexml_load_string($xml);
echo "<pre>";
foreach($list->children() as $child)
{
switch($child->getName())
{
case 'config':
echo 'Config->enabled: ';
echo (string)$child['enabled'];
echo "\n";
break;
case 'stage':
echo 'Stage->minlevel: ';
echo (string)$child['minlevel'];
echo "\n";
break;
}
}