XML - como se puede cambiar esta estructura? ó a MySQL?

 
Vista:

como se puede cambiar esta estructura? ó a MySQL?

Publicado por atarod (1 intervención) el 21/10/2005 23:25:44
tengo esta estructura en XML, como puedo pasarla directamente a MySQL? ó cual es la opcion más sencilla para cambiar la estructura de los fields y las categorias y meterlas
nivel para adentro?

gracias!!

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<productFeed version="0" timestamp="20051011:06:10:14">
<product id="466976" delete="false">
<name><![CDATA[Pack 6 Cajas Vacias Piranha GBA]]></name>
<productURL><![CDATA[http://www.fnac.es/dsp/?servlet=afiliadostd.EntradaAfiliados&affID=1&prodID=466976]]></productURL>
<imageURL>http://www.fnac.es/images/icons/2nivel/libbiger.gif</imageURL>
<price>5.95</price>
<description>
<![CDATA[]]>
</description>
<fields>
<field name="FAMILIA" value="MICROINFORMATICA/SOFTWARE" />
<field name="SUBFAMILIA" value="CONSOLAS / ACCESORIOS CONSOLAS" />
<field name="SUBFAMILIANIVEL2" value="ACCESORIOS CONSOLAS" />

<field name="PROVEEDOR" value="FNAC" />
</fields>
<categories>
<category name="SOFTWARE"/>
<category name="HOME MATERIA>SOFTWARE>GameBoy Advance SP>Periféricos GBA SP"/>
<category name="SOFTWARE>GameBoy Advance SP"/>
<category name="SOFTWARE>GameBoy Advance SP>Periféricos GBA SP"/>
<category name="SOFTWARE>Consolas Hardware"/>
<category name="SOFTWARE>Consolas Hardware>Periféricos Consola"/>
</categories>
</product>
</productFeed>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de una estructura XML a una base de datos MySQL

Publicado por Alejandro (258 intervenciones) el 12/07/2023 16:44:21
Para pasar la estructura XML directamente a una base de datos MySQL, puedes seguir los siguientes pasos:

1. Analizar y comprender la estructura XML:
- Analiza la estructura XML proporcionada y comprende la relación entre los elementos y atributos.
- Identifica los campos y categorías que deseas almacenar en la base de datos MySQL.

2. Crear una base de datos en MySQL:
- Crea una base de datos en tu servidor MySQL si aún no tienes una.

3. Crear una tabla en la base de datos:
- Utilizando la estructura del XML, crea una tabla en la base de datos MySQL con los campos necesarios para almacenar la información.
- Asegúrate de definir los tipos de datos adecuados para cada campo (por ejemplo, VARCHAR para cadenas de texto, DECIMAL para precios, etc.).
- Considera establecer claves primarias y otras restricciones según sea necesario.

4. Leer el archivo XML y extraer la información:
- Utiliza un lenguaje de programación como Python para leer el archivo XML y extraer la información de los campos y categorías.

5. Conectar a la base de datos MySQL:
- Utiliza el lenguaje de programación y una biblioteca compatible con MySQL para establecer una conexión con la base de datos.

6. Insertar los datos en la base de datos:
- Recorre los elementos del XML y ejecuta las consultas INSERT para insertar los datos en la tabla de la base de datos.
- Mapea los datos del XML a los campos correspondientes de la tabla.

Aquí tienes un ejemplo básico utilizando Python y la biblioteca `xml.etree.ElementTree` para leer el archivo XML y realizar la inserción en MySQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import xml.etree.ElementTree as ET
import mysql.connector
 
# Conexión a la base de datos MySQL
db = mysql.connector.connect(
    host="localhost",
    user="tu_usuario",
    password="tu_contraseña",
    database="tu_basededatos"
)
cursor = db.cursor()
 
# Lectura del archivo XML
tree = ET.parse("archivo.xml")
root = tree.getroot()
 
# Recorrer los elementos y realizar la inserción en la base de datos
for product in root.findall("product"):
    name = product.find("name").text
    productURL = product.find("productURL").text
    imageURL = product.find("imageURL").text
    price = float(product.find("price").text)
 
    # Insertar los datos en la tabla de la base de datos
    query = "INSERT INTO tu_tabla (name, productURL, imageURL, price) VALUES (%s, %s, %s, %s)"
    values = (name, productURL, imageURL, price)
    cursor.execute(query, values)
 
# Confirmar los cambios y cerrar la conexión a la base de datos
db.commit()
cursor.close()
db.close()
 
print("Datos insertados en la base de datos MySQL")

Recuerda personalizar el código según tu configuración de base de datos MySQL, incluyendo el host, usuario, contraseña, base de datos y tabla específica.

Ten en cuenta que este es solo un ejemplo básico y puede requerir ajustes adicionales según tus necesidades y la estructura específica del XML.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar