Esto me ha estado molestando todo el día. . . Pero al final descubrí que no podía lograr el efecto que imaginaba. . . Qué vergüenza. . . Parece que es necesario reforzar PHP para XML. . . Si alguien tiene investigaciones sobre esto. Bienvenido a escribir para discutir. . .
Primero crea la tabla:
CREAR TABLA libros (
bookid int(4) NO NULL auto_increment,
nombre del libro varchar(100) NO NULO,
bookauth varchar(50) NO NULO,
editor de libros varchar(50) NO NULO,
bookpubdate fecha y hora NO NULA,
bookurl varchar(50) NO NULO,
ID de libro CLAVE (ID de libro),
);
Entonces. . . Esta sección es el código fuente para obtener datos de MYSQL y convertirlos a XML:
<?
$connect_id=mysql_connect("localhost","root","");
mysql_select_db("bbs",$connect_id);
$query="seleccione * de libros ordenar por bookid";
$rs=mysql_query($consulta,$connect_id);
$numfields=mysql_num_fields($rs);
$XMLfile="<?XML versión="1.0" codificación="GB2312"?>n";
$XMLfile.="<libros>n";
mientras($row=mysql_fetch_array($rs)){
para($i=0;$i<$numfields;$i ){
$nombredelcampo=mysql_field_name($rs,$i);
$XMLfile.="<" $nombredecampo ">" $fila[$i] "</" .
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$XMLfile.="</libros>n";
$fp=fopen("XMLdoc/XMLdoc.XML","w");
if(fwrite($fp,$archivoXML)){
echo "¡Escribiendo en el archivo correctamente!";
}
demás{
echo "¡Error al escribir el archivo!";
}
?>
Esta sección es el código fuente que recupera datos de XML y los convierte a HTML. . .
<?
clase XML{
var $analizador;
función XML(){
$this->parser = XML_parser_create();
XML_set_object($this->parser,&$this);
XML_set_element_handler($this->parser,"tag_on","tag_off");
XML_set_character_data_handler($this->parser,"cdata");
}
función de análisis ($datos){
XML_parse($this->parser,$datos);
}
función tag_on($parser,$etiqueta,$atributos){
if(XML_get_current_line_number($parser)==2){
echo "<tr><td colspan="2" align="center">" $etiqueta "</td>";
}
demás{
cambiar ((XML_get_current_line_number($parser)-2)%6){
caso 0:
echo "<tr><td>Descargar<td>";
romper;
caso 1:
echo "<tr><td>Número de identificación<td>";
romper;
caso 2:
echo "<tr><td>Título del libro<td>";
romper;
caso 3:
echo "<tr><td>Autor<td>";
romper;
caso 4:
echo "<tr><td>Editorial<td>";
romper;
caso 5:
echo "<tr><td>Fecha de publicación<td>";
romper;
}
}
}
función cdata($parser,$cdata){
eco $cdatos;
}
función tag_off($parser,$etiqueta){
hacer eco "n";
}
}
$XML_parser = nuevo XML();
$XMLfilename="XMLdoc/XMLdoc.XML";
$fp=fopen($XMLfilename,"r");
$XMLdata=fread($fp,filesize($XMLfilename));
?>
<HTML><head><title>Información del libro</title></head>
<cuerpo>
<table border="0" cellpacing="1" cellpadding="2" ancho="80%" bgcolor="#b0d8fF" align="center">
<?
$XML_parser->parse($XMLdata);
?>
</table>
De hecho, debería poder verlo. . Este ejemplo es un fracaso. . . Porque el efecto no es grande. . Simplemente no puedes conseguir lo que quieres. . . Bueno. . . amargo. . . .