Advertisement
Fhernd

LecturaEscrituraXml.cs

Apr 21st, 2016
12,005
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.01 KB | None | 0 0
  1. using System;
  2. using System.Xml;
  3. using System.IO;
  4. using System.Text;
  5.  
  6. namespace Recetas.CSharp.R0607
  7. {
  8.     public class LecturaEscrituraXml
  9.     {
  10.         public static void Main()
  11.         {
  12.             // Crea archivo XML:
  13.             FileStream fsXml = new FileStream("productos.xml", FileMode.Create);
  14.             XmlWriter xmlWriter = XmlWriter.Create(fsXml);
  15.            
  16.             // Indica el inicio de la escritura del documento:
  17.             xmlWriter.WriteStartDocument();
  18.            
  19.             // Especifica el nombre del primer elemento:
  20.             xmlWriter.WriteStartElement("Productos");
  21.            
  22.             // Escritura de un producto:
  23.             xmlWriter.WriteStartElement("Producto");
  24.             xmlWriter.WriteAttributeString("ID", "1000001");
  25.             xmlWriter.WriteElementString("NombreProducto", "Salmón Roll");
  26.             xmlWriter.WriteElementString("Precio", "45.0");
  27.             xmlWriter.WriteEndElement();
  28.            
  29.             // Escritura de un producto:
  30.             xmlWriter.WriteStartElement("Producto");
  31.             xmlWriter.WriteAttributeString("ID", "1000002");
  32.             xmlWriter.WriteElementString("NombreProducto", "Sushigo");
  33.             xmlWriter.WriteElementString("Precio", "33.0");
  34.             xmlWriter.WriteEndElement();
  35.            
  36.             // Cierre del documento:
  37.             xmlWriter.WriteEndElement();
  38.             xmlWriter.WriteEndDocument();
  39.             xmlWriter.Flush();
  40.             fsXml.Close();
  41.            
  42.             Console.WriteLine ("\nLa escritura del documento XML ha finalizado.");
  43.             Console.WriteLine ("Presiona Enter para continuar con su lectura.");
  44.             Console.ReadLine ();
  45.            
  46.             // Apertura del archivo:
  47.             fsXml = new FileStream("productos.xml", FileMode.Open);
  48.             XmlReader xmlReader = XmlReader.Create(fsXml);
  49.            
  50.             // Lectura de todos los nodos del documento XML:
  51.             while(xmlReader.Read())
  52.             {
  53.                 // Comprueba que el nodo actual sea de tipo Element:
  54.                 if (xmlReader.NodeType == XmlNodeType.Element)
  55.                 {
  56.                     Console.WriteLine ();
  57.                     Console.WriteLine (String.Format("<{0}>", xmlReader.Name));
  58.                    
  59.                     // Comprueba que el elemento actual contenga atributos:
  60.                     if (xmlReader.HasAttributes)
  61.                     {
  62.                         for (int indiceAtributo = 0; indiceAtributo < xmlReader.AttributeCount; ++indiceAtributo)
  63.                         {
  64.                             Console.WriteLine (String.Format("\tATRIBUTO: {0}", xmlReader.GetAttribute(indiceAtributo)));
  65.                         }
  66.                     }
  67.                 } else if (xmlReader.NodeType == XmlNodeType.Text)
  68.                 {
  69.                     Console.WriteLine (String.Format("\tVALOR: {0}", xmlReader.Value));
  70.                 }
  71.             }
  72.            
  73.             Console.ReadLine ();
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement