我在下面有一个xml字符串,我已经使用
变成了一个对象$content = mb_convert_encoding($content, "ASCII");
$obj = new SimpleXMLElement($content);
obj的结构与xml完全匹配。但是,尝试获取没有父“set”节点的集合数组会导致问题。 我做了
foreach($obj->group as $currentGroup)
{
如果我执行 $ currentGroup->设置 ,我会在内部看到 set 节点,其下面有编号,0和1 ,并在其下的子测试的结构。 我的问题是我尝试做$ currentGroup-> sets-> set(尝试获取没有父节点的集合数组,然后我自动获得第一个集合,而不是其他集合。
<global>
<group name="bce">
<sets>
<set name="a">
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
<set name="b" />
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
<set name="c" />
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
<set name="d" />
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
</subgroupones>
</group>
<group name="ert">
<sets>
<set name="aa">
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
<set name="bb" />
<subsets>
<subset name="bla"/>
<subset name="bla2"/>
<subset name="bla3"/>
</subsets>
</set>
</subgroupones>
</group>
</global>
答案 0 :(得分:1)
所以你想要一个 set 节点的数组?应该是$currentGroup->sets->children()
,除非我遗漏了什么。