我正在尝试编写一个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”约定。
答案 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
的数组。