为什么我不能遍历这个SimpleXML对象?

时间:2012-10-06 08:29:20

标签: php foreach 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。如果重要的东西有不同的名称,我怎么能模仿呢?

1 个答案:

答案 0 :(得分:2)

使用simplexml你需要像这样做

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