Mam problem z odczytem pól z pliku xml, który wykorzystuje przestrzenie nazw.
<?xml version="1.0" encoding="UTF-8"?> <komunikat xmlns="www.csioz.gov.pl/xml/swd-platnik/1" xmlns:nfz="www.nfz.gov.pl/xml/swd-platnik/1" typ="P_SWI" obszar="AMBSZP" wersja="8" nfz:wersja="7.0" id-odb="3000" id-inst-odb="dent20140707" nr-gen-odb="1115" id-nad="3" id-inst-nad="" nr-gen="4985780" czas-gen="2015-08-17T12:18:58" nfz:info-aplik-nad="KS-SIKCH 2015.8.0.2"> <swiadczeniodawca typ-id-swd="X" id-swd="30003386" id-inst="dent20140707"/> <potw-danych> <potw-zest-swiad nfz:id-inst="dent20140707" id-zest-swiad="253345" nr-wersji="1" nfz:stat-imp-d-med="0" nfz:stat-wal-d-med="1" nfz:nr-wersji-rozl="1" nfz:stat-imp-d-rozl="0"> <potw-swiadcz id-swiad="253345"> <nfz:potw-pozycji-rozl id-inst="dent20140707" id-poz-rozlicz="253345" nr-wersji-pr="1" stat-imp-d-poz-rozl="0" stat-wal-d-poz-rozl="1" stat-wer-d-med="2"> <nfz:problem waga="B" kod="51608029" opis="PRZEKROCZONO LIMIT "/> </nfz:potw-pozycji-rozl> </potw-swiadcz> </potw-zest-swiad> </potw-danych> </komunikat>
Konkretnie nie mogę się "dostać" do gałęzi <nfz:problem waga="B" kod="51608029" opis="PRZEKROCZONO LIMIT "/> i odczytać tych pól.
Proszę o pomoc.
To moje wypociny:
$komunikat = simplexml_load_file('swz/'.$nazwa.''); $komunikat->registerXPathNamespace('nfz', 'www.nfz.gov.pl/xml/swd-platnik/1'); $namespaces = $komunikat->getNamespaces(TRUE); $swiadczeniodawca = $komunikat->swiadczeniodawca; $typ_pliku=$komunikat['typ']; $id_odb = $komunikat['id-odb']; if ($typ_pliku == 'P_SWI'){ if ($id_odb == $log_user){ foreach($komunikat->children() as $potw_danych){ foreach($potw_danych->children() as $potw_zest_swiad){ foreach($potw_zest_swiad->children() as $potw_swiadcz){ //echo $potw_swiadcz['id-swiad']; echo '<br/>'; foreach($potw_swiadcz->children($namespaces['nfz']) as $potw_pozycji_rozl){ //foreach($potw_swiadcz->xpath('//nfz:potw_pozycji_rozl') as $potw_pozycji_rozl) { foreach($potw_pozycji_rozl->children($namespaces['nfz']) as $problem){ }