1

我正在使用 curl 访问谷歌分析数据。

它的响应文本包含如下内容。

<entry gd:etag='W/&quot;A0EEQX47eSp7I2A9WhZSFU8.&quot;' gd:kind='analytics#datarow'>
        <id>http://www.google.com/analytics/feeds/data?ids=ga:176&amp;ga:pagePath=/indian-language-unicode-converter/punjabi-unicode-converter.html&amp;start-date=2011-03-01&amp;end-date=2011-03-31</id>
        <updated>2011-03-30T17:00:00.001-07:00</updated>
        <title>ga:pagePath=/indian-language-unicode-converter/punjabi-unicode-converter.html</title>

        <link rel='alternate' type='text/html' href='http://www.google.com/analytics'/>
        <dxp:dimension name='ga:pagePath' value='/indian-language-unicode-converter/punjabi-unicode-converter.html'/>
        <dxp:metric confidenceInterval='0.0' name='ga:pageviews' type='integer' value='1131'/>
    </entry>
    <entry gd:etag='W/&quot;A0EEQX47eSp7I2A9WhZSFU8.&quot;' gd:kind='analytics#datarow'>
        <id>http://www.google.com/analytics/feeds/data?ids=ga:76&amp;ga:pagePath=/indian-language-unicode-converter/hindi-unicode-converter.html&amp;start-date=2011-03-01&amp;end-date=2011-03-31</id>
        <updated>2011-03-30T17:00:00.001-07:00</updated>

        <title>ga:pagePath=/indian-language-unicode-converter/hindi-unicode-converter.html</title>
        <link rel='alternate' type='text/html' href='http://www.google.com/analytics'/>
        <dxp:dimension name='ga:pagePath' value='/indian-language-unicode-converter/hindi-unicode-converter.html'/>
        <dxp:metric confidenceInterval='0.0' name='ga:pageviews' type='integer' value='974'/>
    </entry>

在上面我想访问 <dxp:dimension 和 <dxp:metric

我尝试使用 getglementsbytagname 使用 simplexml 和 phpdomxml,但我仍然无法到达该节点。

如果有人可以帮助我,那就太好了..只是逻辑..

除了 xml dxp:dimension 中的这个符号是什么?

4

1 回答 1

0

dxp: 是一个命名空间。更多解释可以在这里找到:结果 xml 提要中的 dxp 命名空间

如果您使用的是 PHP,您可以尝试类似以下的函数:

function parse_data($xml){
$doc = new DOMDocument();
$doc->loadXML($xml);

$entries = $doc->getElementsByTagName('entry');
$i = 0;
$results = array();
foreach($entries as $entry)
{
    $countries[$i] = array();

    $dimensions = $entry->getElementsByTagName('dimension');
    foreach($dimensions as $dimension)
    {
        $results[$i][ltrim($dimension->getAttribute("name"),"ga:")] =  $dimension->getAttribute('value');
    }

    $metrics = $entry->getElementsByTagName('metric');
    foreach($metrics as $metric)
    {
        $results[$i][ltrim($metric->getAttribute('name'),"ga:")] =  $metric->getAttribute('value');
    }

    $i++;
}
return $results;
}

Alex Curelea 的以下帖子非常有帮助:Using the Google Analytics API - getting total number of page view

于 2011-07-25T17:24:36.830 回答