XML - Insertar un arbol dentro de otro con C#

 
Vista:

Insertar un arbol dentro de otro con C#

Publicado por camali7 (1 intervención) el 02/11/2006 12:57:00
Hola, buenos dias. Mi problema es el siguiente:

Por un lado tengo un fichero XML con la siquiente estructura:

<Clasificaciones>
<Clasificacion jornada="1">
<Partido1/>
<Partido2/>
.
.
.
</Clasificacion>
</Clasificaciones>

Y luego, genero de forma dinámica otro fichero con la estructura:
<Clasificacion jornada="2">
<Partido1/>
<Partido2/>
.
.
.
</Clasificacion>

Ahora bien, igual es una chorrada, pero no soy capaz de añadir como nodo hijo el contenido del segundo fichero al del primero.

Se me ocurre hacerlo nodo por nodo, pero debe haber una manera más sencilla, no se.

Eso es todo, muchas gracias y un saludo a todos.
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

Agregar contenido de un archivo XML al nodo hijo de otro archivo XML

Publicado por Alejandro (258 intervenciones) el 13/07/2023 22:35:55
Para agregar el contenido de un archivo XML como nodo hijo de otro archivo XML, puedes utilizar una biblioteca XML en tu lenguaje de programación preferido. A continuación, te presentaré una solución utilizando el lenguaje Python y la biblioteca `xml.etree.ElementTree`.

Aquí está el código de ejemplo:

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
import xml.etree.ElementTree as ET
 
# Ruta del primer archivo XML
archivo_xml1 = 'archivo1.xml'
 
# Ruta del segundo archivo XML
archivo_xml2 = 'archivo2.xml'
 
# Cargar el primer archivo XML
arbol1 = ET.parse(archivo_xml1)
raiz1 = arbol1.getroot()
 
# Cargar el segundo archivo XML
arbol2 = ET.parse(archivo_xml2)
raiz2 = arbol2.getroot()
 
# Obtener el nodo Clasificacion del primer archivo XML
clasificacion1 = raiz1.find('Clasificacion')
 
# Agregar el contenido del segundo archivo XML como nodos hijos al nodo Clasificacion
for hijo2 in raiz2:
    clasificacion1.append(hijo2)
 
# Guardar el primer archivo XML con los nuevos nodos agregados
arbol1.write('archivo_final.xml')

Asegúrate de ajustar las rutas de los archivos XML (`archivo_xml1` y `archivo_xml2`) a tus ubicaciones reales.

En el código anterior, cargamos ambos archivos XML utilizando `ET.parse()`, obtenemos las raíces de cada archivo (`raiz1` y `raiz2`), y luego encontramos el nodo `Clasificacion` en el primer archivo XML.

Luego, recorremos los nodos hijos del segundo archivo XML y los agregamos como nodos hijos al nodo `Clasificacion` del primer archivo XML utilizando el método `append()`.

Finalmente, guardamos el primer archivo XML modificado con los nuevos nodos agregados en un archivo llamado "archivo_final.xml" utilizando el método `write()`.

Recuerda que esta solución asume que la estructura de ambos archivos XML es compatible y que los nodos que deseas agregar están dentro del elemento raíz adecuado.

Espero que esta solución te ayude a agregar el contenido de un archivo XML como nodo hijo de otro archivo 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