Foros del Web » Programando para Internet » PHP »

Leer XML con php

Estas en el tema de Leer XML con php en el foro de PHP en Foros del Web. Hola deseo leer XML con PHP y he encontrado un código muy lindo para realizar esto, el problema es que me da error el codigo ...
  #1 (permalink)  
Antiguo 22/11/2006, 06:48
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Leer XML con php

Hola deseo leer XML con PHP y he encontrado un código muy lindo para realizar esto, el problema es que me da error el codigo PHP. He encontrado 3 formas de leer XML con php:

1) Leer XML usando la libreria DOM
2) Usando el SAX parser
3) Con expresiones regulares

El que mas me ha gustado es el 1) Leer XML usando la libreria DOM. Porque soy nueva en esto y es un codigo corto y mas entendible

Mi archivo XML: "books.xml"


<?xml version="1.0"?>
<books>
<book>
<author>Jack Herrington</author>
<title>PHP Hacks</title>
<publisher>O'Reilly</publisher>
</book>
<book>
<author>Jack Herrington</author>
<title>Podcasting Hacks</title>
<publisher>O'Reilly</publisher>
</book>
</books>

Mi archivo php: "prueba2.php"


<?php
$doc = new DOMDocument();
$doc->load( 'books.xml' );
$books = $doc->getElementsByTagName( "book" );
foreach( $books as $book )
{
$authors = $book->getElementsByTagName( "author" );
$author = $authors->item(0)->nodeValue; -----------------ERROR ACA $publishers = $book->getElementsByTagName( "publisher" );
$publisher = $publishers->item(0)->nodeValue; ----------ERROR ACA $titles = $book->getElementsByTagName( "title" );
$title = $titles->item(0)->nodeValue; ------------------ERROR ACA echo "$title - $author - $publisher\n";
}
?>

Error en la linea:
$author = $authors->item(0)->nodeValue;

Error: Parse error: parse error, unexpected T_OBJECT_OPERATOR in D:\localhost\myapp\prueba2.php on line 9

Si comento esa linea, tengo error en la proxima linea con la misma sintaxis:

$publisher = $publishers->item(0)->nodeValue;

No se donde puede estar el error, he revisado los archivos y por ahora veo que tengo todo, trabajo con PHP 4.3.3-dev. Estuve buscando información y supuestamente la libreria DOM viene incluida en PHP 4.xxx.

He revisado y tengo configurado los archivos:

* extension=php_domxml.dll está en el php.ini sin comentar
* extension_dir =directorios es correcto en php.ini
* en dlls/ está "iconv.dll"
* en extensions/ está "php_domxml.dll"
* La referencia

No estoy segura si es algo de la instalacion o algo mal en el codigo. Desde ya, muchisimas gracias

Ines
  #2 (permalink)  
Antiguo 22/11/2006, 11:04
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
No se si te servira, pero revisa este enlace:
http://www.desarrolloweb.com/articulos/2491.php

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 04/12/2006, 14:55
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Dom XML y PHP - Ayuda por favor

Mil gracias! pero no pasa nada con este código tampoco de desarrolloweb. Estoy intentando ahora leer un archivo XML usando Dom XML pero tampoco. Me da error en las funciones DOM . Vengo estudiando un monton de info sobre esto. Ahora me han recomendado usar Xpath en php. Yo calculo que mi problema es algo en la instalación, pero con phpinfo() me da que tengo todo correcto. Ahora quiero abrir un documento XML en php y me da error:

$doc = domxml_open_file("D:/rutacompleta/libros.xml");

Error en esta linea, que es la unica que tengo al momento en el código php. No me reconoce la funcion "domxml_open_file"

phpinfo:

domxml

DOM/XML enabled
DOM/XML API Version 20020815
libxml Version 20622
HTML Support enabled
XPath Support enabled
XPointer Support enabled
DOM/XSLT enabled
libxslt Version 1.1.15
libxslt compiled against libxml Version 2.6.22

Varsión PHP y Apache:
PHP 4.3.3-dev
Apache 2.0.58

Alguien puede darme una mano con esto? Ya estoy desesperando... mil gracias!!
  #4 (permalink)  
Antiguo 13/05/2007, 12:01
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Leer XML con php - Ayuda por favor

Es que la funcion $doc = new DOMDocument(); es de PHP5. Son funciones DOM. Las de PHP4 son funciones DOMXML. Miralo en la web de php. Saludos!
  #5 (permalink)  
Antiguo 30/05/2007, 15:27
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Leer XML con php - Ayuda por favor

holas..tengo unos problemas con el domxml. al habilitarlo en el php.ini el archivo no carga a pesar que si se encuentra en el directorio especificado C:\php\extensions sale un mensaje como "no se encuentre el file en la ubicacion especificada" no se que hacer he cambiado el archivo y varias cosas que tengo que hacer y como lo tengo que hacer...ayuda pleaseeeeeeeeeeee....gracias...
  #6 (permalink)  
Antiguo 06/06/2007, 09:00
 
Fecha de Ingreso: junio-2007
Mensajes: 2
Antigüedad: 16 años, 10 meses
Puntos: 0
Sonrisa Re: Leer XML con php

Hola mleonsoft

Prueba de esta manera ..

<?php
$book = “'<books>'
'<book>'
'<author>'Jack Herrington'</author>'
'<title>'PHP Hacks'</title>'
'<publisher>'O'Reilly'</publisher>'
'</book>'
'<book>'
'<author>'Jack Herrington'</author>'
'<title>'Podcasting Hacks'</title>'
'<publisher>'O'Reilly'</publisher>'
'</book>'
'</books>'”;
$doc = new DOMDocument('1.0', 'iso-8859-1');
$element = $doc->createElement('test', $book );
$doc->appendChild($element);
echo $doc->saveXML();

///luego tu ciclo..el foreach( )
?>
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:32.