Estou querendo criar uma classe pra manipular XMLs sem ter que instalar qualquer extensão específica no PHP.
Então eu estava fazendo uns testes aqui... só que me deparei com um problema. A idéia era pegar o conteúdo do XML em uma variável, e depois tratar os dados com expressões regulares, passando o conteúdo do XML para um array. Bom, o problema está com a função preg_match_all()... este é meu código:
Então, a idéia era que ele casasse as tags, os atributos das tags e os conteúdos, pra depois colocá-los num array... mas quando eu utilizo a preg_match_all, ele vai casar do "<note>" até o "</note>" (as tags "raiz" desse documento), e não vai casar o conteúdo interno dessas tags (como, por exemplo, deveria casar o "<to>Charles</to>" e colocar esses dados em um novo array)... como a função já passou por aquela área (ao casar as tags "raiz"), acho que ela não volta atrás pra tentar realizar novos casamentos...
Question
Illidan
Pessoal,
Estou querendo criar uma classe pra manipular XMLs sem ter que instalar qualquer extensão específica no PHP.
Então eu estava fazendo uns testes aqui... só que me deparei com um problema. A idéia era pegar o conteúdo do XML em uma variável, e depois tratar os dados com expressões regulares, passando o conteúdo do XML para um array. Bom, o problema está com a função preg_match_all()... este é meu código:
Então, a idéia era que ele casasse as tags, os atributos das tags e os conteúdos, pra depois colocá-los num array... mas quando eu utilizo a preg_match_all, ele vai casar do "<note>" até o "</note>" (as tags "raiz" desse documento), e não vai casar o conteúdo interno dessas tags (como, por exemplo, deveria casar o "<to>Charles</to>" e colocar esses dados em um novo array)... como a função já passou por aquela área (ao casar as tags "raiz"), acho que ela não volta atrás pra tentar realizar novos casamentos...
Alguém sabe se tem como resolver isso?
Muito obrigado!
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.