Foros del Web » Programación para mayores de 30 ;) » Programación General »

parseando xml

Estas en el tema de parseando xml en el foro de Programación General en Foros del Web. Hola muchachos, estoy tratando de obtener los valores de un xml que me leo por http, ya se que existe XML::DOM pero no lo puedo ...
  #1 (permalink)  
Antiguo 07/06/2004, 15:16
 
Fecha de Ingreso: febrero-2002
Mensajes: 100
Antigüedad: 22 años, 2 meses
Puntos: 0
parseando xml

Hola muchachos, estoy tratando de obtener los valores de un xml que me leo por http, ya se que existe XML::DOM pero no lo puedo usar ya que no tengo permiso de configurar el server, ademas q esta muy sencillo el codigo.

Deseo limpiar todos los tags y solamente leer el contenido: Result y Message, pero me estan comiendo las expresiones regulares.

<?xml version="1.0" encoding="utf-8" ?>
<ProcessVoiceResponse>
<ProcessVoiceRequestResult>Result</ProcessVoiceRequestResult>
<ProcessVoiceRequestMessage>Message</ProcessVoiceRequestMessage>
</ProcessVoiceResponse>

#paso 1
# la idea es quitar los que no me interesen
#$totalfile ya tiene la data cuando uno hace my $res = $ua->request
$totalfile=~ s/<?xml version="1.0" encoding="utf-8"?>//g;
$totalfile=~s/\<ProcessVoiceResponse\>//g;
$totalfile=~s/\</ProcessVoiceResponse\>//g;

Asi deberia quedar solamente:
<ProcessVoiceRequestResult>Result</ProcessVoiceRequestResult>
<ProcessVoiceRequestMessage>Message</ProcessVoiceRequestMessage>

Despues quito:
</ProcessVoiceRequestResult> y </ProcessVoiceRequestMessage>

Quedaria esto:
<ProcessVoiceRequestResult>Result <ProcessVoiceRequestMessage> Message

Haria un split para sustituir <ProcessVoiceRequestResult> por "" y despues hago otro para el <ProcessVoiceRequestResult>

y podria leer con un arreglo los valores Result y Message.


Si tienen una idea mas facil se los agradezco por ahora me conformo con quitar las <sentencia></sentencia>

Gracias
__________________
Reyj

Vida es una, disfrutala todos los días!
  #2 (permalink)  
Antiguo 07/06/2004, 15:38
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años
Puntos: 0
Hola:

Puedes quitar facilmente todo lo que se encuentra en tags, es decir entre <>, con esta sencilla expresión regular:

Código:
s/<(.*?)>//g
SALUDOS
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:42.