Hello i have this xml file
<are:Ares_odpovedi xmlns:are="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1" xmlns:dtt="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_datatypes/v_1.0.4" xmlns:udt="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/uvis_datatypes/v_1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" odpoved_datum_cas="2022-06-28T13:59:37" odpoved_pocet="1" odpoved_typ="Standard" vystup_format="XML" xslt="klient" validation_XSLT="/ares/xml_doc/schemas/ares/ares_answer/v_1.0.0/ares_answer.xsl" xsi:schemaLocation="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1 http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1/ares_answer_v_1.0.1.xsd" Id="ares"> <are:Odpoved> <are:Pocet_zaznamu>1</are:Pocet_zaznamu> <are:Typ_vyhledani>FREE</are:Typ_vyhledani> <are:Zaznam> <are:Shoda_ICO> <dtt:Kod>9</dtt:Kod> </are:Shoda_ICO> <are:Vyhledano_dle>ICO</are:Vyhledano_dle> <are:Typ_registru> <dtt:Kod>2</dtt:Kod> <dtt:Text>OR</dtt:Text> </are:Typ_registru> <are:Datum_vzniku>2010-11-18</are:Datum_vzniku> <are:Datum_platnosti>2022-06-28</are:Datum_platnosti> <are:Pravni_forma> <dtt:Kod_PF>121</dtt:Kod_PF> </are:Pravni_forma> <are:Obchodni_firma>Dermacol, a.s.</are:Obchodni_firma> <are:ICO>24766208</are:ICO> <are:Identifikace> <are:Adresa_ARES> <dtt:ID_adresy>212020195</dtt:ID_adresy> <dtt:Kod_statu>203</dtt:Kod_statu> <dtt:Nazev_okresu>Hlavní město Praha</dtt:Nazev_okresu> <dtt:Nazev_obce>Praha</dtt:Nazev_obce> <dtt:Nazev_casti_obce>Ruzyně</dtt:Nazev_casti_obce> <dtt:Nazev_mestske_casti>Praha 6</dtt:Nazev_mestske_casti> <dtt:Nazev_ulice>Výtvarná</dtt:Nazev_ulice> <dtt:Cislo_domovni>1023</dtt:Cislo_domovni> <dtt:Typ_cislo_domovni>1</dtt:Typ_cislo_domovni> <dtt:Cislo_orientacni>4</dtt:Cislo_orientacni> <dtt:PSC>16100</dtt:PSC> <dtt:Adresa_UIR> <udt:Kod_oblasti>19</udt:Kod_oblasti> <udt:Kod_kraje>19</udt:Kod_kraje> <udt:Kod_okresu>3100</udt:Kod_okresu> <udt:Kod_obce>554782</udt:Kod_obce> <udt:Kod_pobvod>60</udt:Kod_pobvod> <udt:Kod_nobvod>60</udt:Kod_nobvod> <udt:Kod_casti_obce>400394</udt:Kod_casti_obce> <udt:Kod_mestske_casti>500178</udt:Kod_mestske_casti> <udt:PSC>16100</udt:PSC> <udt:Kod_ulice>507130</udt:Kod_ulice> <udt:Cislo_domovni>1023</udt:Cislo_domovni> <udt:Typ_cislo_domovni>1</udt:Typ_cislo_domovni> <udt:Cislo_orientacni>4</udt:Cislo_orientacni> <udt:Kod_adresy>22714359</udt:Kod_adresy> <udt:Kod_objektu>22016511</udt:Kod_objektu> </dtt:Adresa_UIR> </are:Adresa_ARES> </are:Identifikace> <are:Kod_FU>6</are:Kod_FU> <are:Priznaky_subjektu>NAAANANNNNANNNNNNNNNNNNNANNNNN</are:Priznaky_subjektu> </are:Zaznam> </are:Odpoved> </are:Ares_odpovedi>
and i need to get data from element <are:ICO>
with php, i tried this, but that shows me error, because of that “are:” i think, it shows me this error
“Parse error: syntax error, unexpected token “:” in C:xampphtdocsxmldata.php on line 4″
<?php $xml = new SimpleXMLElement("https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=24766208", LIBXML_NOCDATA, true); foreach ($xml->Odpoved as $result) { $ico = $result->are:ICO; } echo $ico; ?>
Advertisement
Answer
Since you are dealing with xml and namespaces, you should parse the data with an xml parser and, using xpath, properly handle the namespaces. Something like:
$url = "https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=24766208"; $xml = simplexml_load_file($url); $xml->registerXPathNamespace("are", "http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer/v_1.0.1"); $ico = $xml->xpath("//are:ICO"); echo $ico[0];
Output:
24766208