我在下面的格式某些XML數據 -如何檢索XML數據的孩子?
<xyz:reqResponse
xmlns:xyz="http://www.test.com/xyz/"
xmlns:akt="http://www.exmple.com/akt/">
<xyz:version>1.2</xyz:version>
<xyz:totalRecords>659</xyz:totalRecords>
<xyz:records>
<xyz:record>
<doc>
<str name="icon_url">http://www.icons.net/icon1.jpg</str>
<str name="type">Service</str>
<arr name="bc.recordTitle"><str>Evergreen Club</str></arr>
<str name="bc.id">KLM0078</str>
<str name="system.external.id">787678</str>
<arr name="bc.description">
<str>Meetings: Church Hall Beaudesert Lane. Open to anyone over 50.</str>
</arr>
<str name="code">X1209</str>
<double name="localval1">-4.00006</double>
<double name="localval2">-7.00012</double>
<date name="timestamp">Wed Jun 02 21:19:33 BST 2010</date>
</doc>
</xyz:record>
<xyz:record>
<doc>
<str name="icon_url">http://www.icons.net/icon1.jpg</str>
<str name="type">Service</str>
<arr name="bc.recordTitle"><str>Evergreen Club</str></arr>
<str name="bc.id">KLM0078</str>
<str name="system.external.id">787678</str>
<arr name="bc.description">
<str>Meetings: Church Hall Beaudesert Lane. Open to anyone over 50.</str>
</arr>
<str name="code">X1209</str>
<double name="localval1">-4.00006</double>
<double name="localval2">-7.00012</double>
<date name="timestamp">Wed Jun 02 21:19:33 BST 2010</date>
</doc>
</xyz:record>
</xyz:records>
</xyz:reqResponse>
我做這樣的事情
$xml = simplexml_load_string($xml_data);
$namespaces = $xml->getNameSpaces(true);
$data = $xml->children($namespaces['xyz']);
,所以如果我打印
echo $data->totalRecords; //outputs correctly 659
我通過所有的努力環記錄和訪問個別領域,但不知道如何做到這一點。
我想是這樣
$records = $data->records;
foreach($records as $record) {
echo print_r($record, true);
}
,但它不是非常有幫助。
我的問題是 - - 如何訪問每個<xyz:record>
及其分項(這是<str name="abc">NAbc</str>
等
與感謝, 凱
「它不是非常有幫助」 - 你能告訴我們它打印的內容(未經測試)? – LarsH 2010-10-12 16:36:36
@LarsH ..它俘虜這些.. SimpleXMLElement對象([記錄] =>數組([0] => SimpleXMLElement對象()[1] => SimpleXMLElement對象()))..空的那麼沒有幫助 – Kay 2010-10-12 16:57:10