Nasıl XML SimpleXML kullanarak özel ad içeren ayrıştırmak?

3 Cevap php

Ben görünen XML değerleri ayrıştırmak nasıl merak ediyorum: kendi adına. Kullanarak oldum:

$response   = file_get_contents($url);
$data = simplexml_load_string($response);

sonra yapıyor:

foreach($data->item as $key => $current){

Ancak, en son biri ben aşağıda örnekte görüldüğü gibi yem adına kolon gelmiştir verildiğini beslemeleri:

<item>
  <title>foo</title>
  <description>foo</description>           
  <ccc:fid>10</ccc:fid>
  <ccc:bid>6</ccc:bid>
 </item>

I $ akım-> ccc oluşturmaya çalıştığınızda: php teklif happy (haklı nedenle) için almaz. Bunu aşmanın bir yolu var mı?

3 Cevap

CCC kullanımı: fid SimpleXML gibi kütüphanelerde kullanmak mümkün olması için xml olarak ilan edilmesi için gereken ad bir uzantısıdır.

Burada bir ad istimal açıklamaları bazı örnekler:

Biraz karmaşık olsa ki, Umut olur.

Kolonlarla elemanları namespace prefixes kullanıyor ve gayet geçerli XML. Birlikte birden şemalar kullanırken, ad alanları aynı ada sahip öğeleri ayırt yardımcı olur. PHP yolu SimpleXMLElement nesneleri işlemek, aslında kolon önce bir kısmını göz ardı edebilirsiniz:

$current->fid;

Eğer öğe adı ad kısmını öğrenmek istiyorum yoksa, bunu yapabilirsiniz:

$current->fid->getNamespaces();

"CCC" bir ad - yapmanız gerekir

$current->fid