2012-10-06 65 views
0

我一直在拉我的头发,我真的希望我能得到一些帮助。提前致谢!为什么我无法循环访问这个SimpleXML对象?

我有SimpleXML对象,这是这样的:

Object 
(
| SomeStuff Object 
| (
| ) 
| Entries Object 
| (
| | Entry Object 
| | (
| | | SomeMoreStuff Object 
| | | (
| | | ) 
| | | ImportantStuff Object 
| | | (
| | | | W1 Object 
| | | | (
| | | | | D1 Object 
| | | | | (
| | | | | ) 
| | | | | D2 Object 
| | | | W2 Object 
| | | | (
| | | | | D1 Object 
| | | | | (
| | | | | ) 
| | | | | D2 Object 

...等 出于某种原因,使用下面的代码会产生意想不到的结果:

foreach($xml->Entries->Entry->ImportantStuff as $key => $value) { 
    echo "$key, $value"; 
} 

刚输出ImportantStuff,而不是每个D#的一行。在另一种情况下,我有一个对象,其中ImportantStuff的每个成员都有相同的名称,在这种情况下我使用$xml->ImportantStuff->ImportantThing,它返回所有 ImportantThings。我如何模仿重要事物名称不同的情况?使用

+0

在foreach您可以添加完整的XML ??? – Baba

+0

@Baba,我意识到你不能'回声'的对象,但它是为了测试的目的,以确保迭代实际上工作。 :) – JJJollyjim

+0

@Baba,我会的,但它已被回答!谢谢你,Geek Num 88 – JJJollyjim

回答

2

simplexml的,你需要做这样的

foreach($xml->Entries->Entry->ImportantStuff->children() as $key => $value) { echo "$key, $value"; }

+0

我真是个白痴,非常感谢你! – JJJollyjim