Problemas de namespace php simplexml
-
21-09-2019 - |
Pergunta
Pessoal da noite.
Em primeiro lugar, para dizer, eu li Como faço para analisar XML contendo namespaces personalizados usando o simplexml?.
Estou analisando um documento XML de uma fonte, não é de pensar e eles usam um espaço para nome personalizado.
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
<channel>
<item>
<link>qweqwe</link>
<moshtix:genre>asdasd</moshtix:genre>
...
Por exemplo. Quando eu analiso usando o SimpXML, nenhum dos elementos da Mostix: Namespace estão no show ou acessíveis. Provavelmente uma solução realmente simples, mas alguma ideia pessoal?
Solução
Normalmente, as pessoas usam crianças().
$rss = simplexml_load_string(
'<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
<channel>
<link>qweqwe</link>
<moshtix:genre>asdasd</moshtix:genre>
</channel>
</rss>'
);
foreach ($rss->channel as $channel)
{
echo 'link: ', $channel->link, "\n";
echo 'genre: ', $channel->children('moshtix', true)->genre, "\n";
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow