好吧,我的脚本应该打开一个XML文件,以递归方式循环遍历所有标签,子项,子项的子项等,随后随地吐出信息。今天我注意到一个有趣的错误,我的foreach循环应该循环通过孩子们直接跳到最后一个孩子,我真的不知道为什么。
function theHunt($node)
{
$tagName = '';
print 'I am starting with ' . $node->getName() . ' It should have ' . $node->count() . ' children. The first child should be: ' . $node->children()->getName() . '<br>';
foreach ($node->children() as $child);
{
print $child->getName() . '<br>';
if (isset($child))
{
print 'I found: ' . $child->getName() . ' I\'ll see if it has kids' . '<br>';
$this->theHunt($child);
}
else
{
print 'No kids here, I\'m going to stop digging.<br>';
}
//Now that I am all the way down or working my way back up. I start gathering my information.
$tagName = $node -> getName();
if($this->rootNode->$tagName[0] !== NULL)
{
foreach ($this->rootNode->$tagName[0]->attributes() as $a => $b) ;
{
//echo $a, '="', $b, "<br>";
}
}
//print_r($node);
print'<br> I kicked out <br>';
}
}
真正奇怪的部分是这一行:
print 'I am starting with ' . $node->getName() . ' It should have ' . $node->count() . ' children. The first child should be: ' . $node->children()->getName() . '<br>';
正在输出所有正确的信息,但是当我进入foreach循环时,我跳到最后一个孩子。
答案 0 :(得分:0)
您的代码处理树结构错误。您应该遵循以下结构:
[HttpPost]
public void GetInfo([FromBody]EmployeeTable data){
}
答案 1 :(得分:-1)
好的,我明白了。真是菜鸟的错误。在我的foreach之后我放了一个分号。拿出来,我跑得很漂亮。