2

GoogleコンタクトAPIからのxmlフィードがありますが、<gd:タグの読み取りに問題があります。

$xml = simplexml_load_string($google_contacts);

<gd:これは、電子メール情報を含むタグを除くすべての要素を読み取ります。

何をするのが一番いいですか?

4

4 に答える 4

2

更新: 名前空間と xpath を使用している場合は、最初にそれらを SimpleXMLに登録する必要がある場合があります。

要素へのアクセスに問題がある場合は、要素を{}天使の括弧で囲むようにしてください。これはおそらく役立ちます: $xml->{gd:...}.


私の記憶が正しければ、SimpleXML は XML 名前空間をまったくサポートしていないか、制限付きでサポートしています。DomDocumentがあるので、代わりに使用してください。

初めての場合:

$dom = new DomDocument;
$dom->loadXML($google_contacts);
...

または、SimpleXML だけでは難しい部分には DomDocument を使用します。

$domElement = dom_import_simplexml($simpleXmlNode);
于 2011-06-22T16:40:00.873 に答える
1

xml_parseを使用して「gd:」タグを読み取ることができます。xml文字列は共有されないため、すべての結果が配列で返されます。配列からデータを取得するには、さらにロジックを作成する必要があります。

<?php
$content = $google_contacts;
$parser = xml_parser_create();
xml_parse_into_struct($parser, $content, $data, $index);
xml_parser_free($parser);
print"<pre>";
print_r($data);
/*foreach($data as $vals )
{    
  //write your code to get result from array
}*/
?>

http://www.php.net/manual/en/function.xml-parse.php

于 2011-06-22T16:52:59.010 に答える