使用PHP进行XML解析:如何使用foreach

时间:2013-06-25 17:32:33

标签: php xml parsing simplexml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<response docVer="1.0">
    <result code="0">OK</result>
    <engineVer value="2.0.8"/>
    <repInfo>
        <version value="2.0.6.25180"/>
        <expansion value="HotS"/>
        <gameLength gameTimeValue="840" unit="sec" value="606"/>
        <gameLength unit="frame" value="53760"/>
        <gameType value="AutoMM"/>
        <isCompetitive value="true"/>
        <gameSpeed value="Faster"/>
        <format value="2v2"/>
        <gateway value="Europe"/>
        <mapFile value="40/63/4063ce2135431de8ebea926f4263876e8e554d893262bf50718edd0556cf0920.s2ma"/>
        <clients count="2">
            <client index="0" value="[Angels]KoT"/>
            <client index="1" value="SCIIGears"/>
        </clients>

我正在使用$parsed = new SimpleXMLElement($result);

如何遍历所有客户端并提取echo的值?

玩家1:昵称

玩家2:昵称

等等。我坚持使用foreach

2 个答案:

答案 0 :(得分:0)

这是你在找什么?

foreach($parsed->repInfo->clients->client as $client)
{
     // do what you want, $client->attribute;
}

答案 1 :(得分:0)

最简单的方法是使用XPath,例如:

foreach ($parsed->xpath("//client") as $client) {
    echo $client->value;  // ... for example
}

字符串"//client"在文档中的任何位置选择任何<client>元素。