Pergunta

Atualmente estou usando e olhou através deste código http://us.php.net/manual/en/function.xml-set-element-handler.php#85970 Como faço para obter o texto entre as tags?

Eu estou usando php5 e XML Parser

Foi útil?

Solução

Isso deve explicá-lo:

 xml_set_character_data_handler ( $parser, 'tagContent' );

 function tagContent ( $parser, $content )
 {
 }

Outras dicas

Não use de PHP XML Parser se você não sabe o que está fazendo - é um parser SAX que exige que você entender a idéia de eventos SAX. Você não precisa dele, a menos que você precisa para lidar com grandes arquivos XML muito rapidamente. Para 99% dos casos, você não precisa usá-lo. Baseado em sua pergunta, você está simplesmente abrindo um arquivo XML e à procura de uma determinada marca e extrair as cordas contidos nessa tag. Para isso, você deve usar o DOM ou analisadores SimpleXML. SimpleXML permite usar XPath - veja este exemplo código que faz amplamente o você quer. (Se você quiser usar DOM, você vai ter que procurá-lo no site PHP - Posso hiperlinks não pós como eu sou um novato - basta ter cuidado para não confundi-lo com domxml que é o analisador XML PHP4 velho .)

Se eu descaracterizou isso e você realmente quer aprender como usar análise SAX, o Google vai ajudar - mas a teoria básico é este: seu código estará processando o documento completo como uma série de eventos. Cada evento vai representar algo no documento - começando com o início do documento, em seguida, cada elemento que está sendo aberta e fechada, cada atributo que está sendo analisado, e cada corda que está sendo analisado. Você precisa ter o código que escuta os eventos que você está interessado em - quando um elemento fica aberta e fechada - e depois disso, ver se o elemento que está sendo aberto é o que você quer - se for, você precisa, em seguida, dizer o manipulador de eventos que manipula o texto que ele agora deve escutar texto e armazenar qualquer texto que você está procurando em uma variável. Quando você é feito, você pode então fechar o fluxo de fora e fazer o que você quer fazer com o texto.

Mais uma vez, com base na pergunta, parece que você precisa DOM ou SimpleXML não SAX.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top