<listing> <Community> <commons:Subdivision commons:isgSecurityClass="Public">Cheat Crossings</commons:Subdivision> <commons:Schools> <commons:School> <commons:Name>Valley View</commons:Name> <commons:SchoolCategory>Elementary</commons:SchoolCategory> <commons:District commons:isgSecurityClass="Public">Monongalia</commons:District> <commons:Description>true</commons:Description> </commons:School> <commons:School> <commons:Name>MHS</commons:Name> <commons:SchoolCategory>High</commons:SchoolCategory> <commons:District commons:isgSecurityClass="Public">Monongalia</commons:District> <commons:Description>true</commons:Description> </commons:School> <commons:School> <commons:Name>Morgantown Jr High School</commons:Name> <commons:SchoolCategory>JuniorHigh</commons:SchoolCategory> <commons:District commons:isgSecurityClass="Public">Monongalia</commons:District> <commons:Description>true</commons:Description> </commons:School> <commons:School> <commons:Name>South</commons:Name> <commons:SchoolCategory>Middle</commons:SchoolCategory> <commons:District commons:isgSecurityClass="Public">Monongalia</commons:District> <commons:Description>true</commons:Description> </commons:School> </commons:Schools> </Community>
Как я могу получить все записи о школе под школьным тегом? Я пробовал это, но он не работает. $ EachListing-> community-> Schools-> дети ( "коммуны", правда);
Здесь должен быть атрибут xmlns: commons = "…". Значение этого атрибута – это фактическое пространство имен, а «общий» префикс – просто псевдоним для него. Определите переменную или константу в приложении с пространством имен и используйте ее, а не псевдоним / префикс.
const XMLNS_COMMON = 'http://rets.org/xsd/RETSCommons'; // the value from the xmlns:common attribute? $eachListing->Community->Schools->children(XMLNS_COMMON);
Псевдоним / префикс может быть изменен на каждом узле документа и не является обязательным. Не основывайте свою логику на этом.
Возможно, это необходимо сделать для любого узла, который не находится в пространстве имен элемента документа.
$nodes = $eachListing ->Community ->children(XMLNS_COMMON)->Schools ->children(XMLNS_COMMON);
Демоверсия: https://eval.in/205950