基本的PHP SimpleXML用法问题

时间:2010-09-06 15:52:49

标签: php xml simplexml

我正在尝试编写一个PHP脚本,从Google阅读器中获取我未完成的总计数。我已经让它从Google获得XML响应(其中还包括每个Feed的未读计数),但现在我无法访问正确的节点以获取我想要的数字,只有未读项目总数。以下是Google的XML响应的基本结构:

<object>
    <number name="max">1000</number>
    <list name="unreadcounts">
        <object>
            <string name="id">user/0583/state/com.google/reading-list</string>
            <number name="count">14</number>
            <number name="newestItemTimestampUsec">1283782532883071</number>
        </object>
        <object>
            <string name="id">/feed/url</string>
            <number name="count">2</number>
            <number name="newestItemTimestampUsec">1283782532881456</number>
        </object>
    </list>
</object>

如何使用SimpleXML获得该数字14?列表中有一些不可知的对象可以继续读取列表对象。基本上,我想要count的值,其中id是user / 0583 / state / com.google / reading-list。

我正在尝试使用PHP.net上的示例,但他们不使用此字符串name =“id”约定。

1 个答案:

答案 0 :(得分:1)

获得数字14的正确XPath是:

$myID = 'user/0583/state/com.google/reading-list';
$path = "//object[string[@name='id'] = '$myID']/number[@name='count']";

然后可以将XPath表达式提供给SimpleXML's xpath() method。来自文档:

  

如果出现错误,则返回SimpleXMLElement个对象或FALSE的数组。

相关问题