获取函数后的xml解析

时间:2014-03-22 14:24:40

标签: php xml parsing

我正在尝试打印下面的xml的一些值。前三行打印出我想要的正确文本。但最后一行不打印任何东西。我错过了解析xml的一些内容吗?

foreach ($response->values as $value) {
print $value->updateType.' ';
print $value->updateContent->person->id.' ';
print $value->updateContent->person->firstName.' '.$value->updateContent->person->lastName;
print ':::'.$value->updateContent->person->connections->firstName.':::'; //FAIL
}


<update>
    <timestamp>1262628716000</timestamp>
    <update-type>CONN</update-type>
    <update-content>
        <person>
            <id>Sa_cgv2lRl</id>
            <first-name>John</first-name>
            <last-name>Irving</last-name>
            <headline>Author</headline>
            <connections total="1">
                <person>
        <id>B0Vweu0eVU</id>
        <first-name>Paul</first-name>
        <last-name>Auster</last-name>
        <headline>EWriter</headline>
        </person>
     </connections>
     </person>
 </update-content>
  </update>

1 个答案:

答案 0 :(得分:0)

显然,它应该是:

print $value->{'update-content'}->person->connections->person->{'first-name'}; 

<person>之后查看<connections>节点!

此外,您的XML与代码之间存在不匹配,例如: updateContentupdate-contentfirstNamefirst-name的对比。如果是后者,请参阅使用短划线访问节点所需的特殊语法。