Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Xml.Linq;
- namespace Recetas.CSharp.R0616
- {
- public class ModificacionArbolXml
- {
- public static void Main()
- {
- Console.WriteLine ();
- // Carga del archivo XML:
- XElement elementoRaiz = XElement.Load("CatalogoProductos.xml");
- // Muestra en la salida estándar el archivo XML original:
- Console.WriteLine (elementoRaiz);
- Console.WriteLine ("\nPresione Enter para continuar...");
- Console.ReadLine ();
- // Selecciona todos los elementos Producto:
- IEnumerable<XElement> elementosProducto
- = from elemento in elementoRaiz.Element("Productos")
- .Elements()
- where (elemento.Name == "Producto")
- select elemento;
- // Itera a través de los elementos Producto y cambia su ID:
- foreach(XElement elemento in elementosProducto)
- {
- // Obtiene el ID actual:
- int idActual = Int32.Parse((string) elemento.Attribute("ID"));
- // Reemplaza el valor actual de ID:
- elemento.ReplaceAttributes(new XAttribute("ID", idActual + 1000));
- }
- // Muestra en la salida estándar el árbol XML modificado:
- Console.WriteLine (elementoRaiz);
- Console.WriteLine ("\nPresione Enter para continuar...");
- Console.ReadLine ();
- // Remueve todos los elementos que contienen la palabra "café" en Descripción:
- IEnumerable<XElement> elementosCafe = from elemento in
- elementoRaiz.Element("Productos").Elements()
- where (((string)elemento.Element("Descripcion")).Contains("café"))
- select elemento;
- foreach(XElement elemento in elementosCafe)
- {
- elemento.Remove();
- }
- Console.WriteLine (elementoRaiz);
- Console.WriteLine ("Presione Enter para continuar...");
- Console.WriteLine ();
- // Define un elemento para agregarlo al árbol:
- XElement nuevoElemento = new XElement("Producto",
- new XAttribute("ID", 100003),
- new XElement("NombreProducto", "Café Irlandés"),
- new XElement("Descripcion", "Café ron y baileys"),
- new XElement("Precio", 4500),
- new XElement("Disponible", false)
- );
- elementoRaiz.Element("Productos").Add(nuevoElemento);
- Console.WriteLine (elementoRaiz);
- Console.WriteLine ();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement