Cómo modificar y guardar XML con la clase XmlDocument en el.NET Framework SDK

Seleccione idioma Seleccione idioma
Id. de artículo: 301233 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E301233
En este artículo se refiere a la siguiente.NET Framework clase Espacio de nombres de biblioteca:
  • System.Xml
Expandir todo | Contraer todo

En esta página

Resumen

Este ejemplo ilustra cómo actualizar y guardar XML con el Clase XmlDocument .

Requisitos

En la lista siguiente describe el hardware recomendado, software, infraestructura de red y los service packs que necesitará:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Advanced Server o Windows NT 4.0 Server
  • Visual Studio de Microsoft.NET
En este artículo se supone que está familiarizado con la siguiente temas:
  • Terminología XML
  • Crear y leer un archivo XML
  • El modelo de objetos de documento (DOM)

Cómo utilizar la clase XmlDocument para guardar XML

  1. Crear una nueva aplicación de consola de C# en o Visual Basic Visual Studio.NET.
  2. Asegúrese de que el proyecto hace referencia el espacio de nombres System.Xml .
  3. Utilice la instrucción Imports en el espacio de nombres Xml para que no se tenga que suministrar declaraciones de XmlTextReader más adelante en el código. Debe utilizar la instrucción Imports antes que cualquier otra declaración.
    Visual Basic.NET de código
    Imports System.Xml
    Código C#
    using System.Xml;
    
  4. Crear una nueva clase XmlDocument y utilice el método Load para cargar el recurso.

    La clase XmlDocument representa el documento XML y dispone de un método Load para cargar el documento desde un archivo, secuencia o un XmlReader.

    Visual Basic.NET de código
    Dim myXmlDocument as XmlDocument = new XmlDocument()
    myXmlDocument.Load ("books.xml")
    
    Código C#
    XmlDocument myXmlDocument = new XmlDocument();
    myXmlDocument.Load ("books.xml");
    
    Tenga en cuenta que, aunque el archivo Books.xml se utiliza aquí, puede crear su propio archivo Books.xml. Un archivo de ejemplo Books.xml también se incluye con Visual Studio.NET y.NET Framework Software Development Kit (SDK).
  5. El objeto XmlNode proporciona métodos y propiedades para manipular un nodo. Uso el objeto XmlNode que devuelve la propiedad DocumentElement de XmlDocument para manipular un nodo XML.
    Visual Basic.NET de código
    Dim node as XmlNode
    node = myXmlDocument.DocumentElement
    
    Código C#
    XmlNode node;
    node = myXmlDocument.DocumentElement;
    
  6. Recorrer en iteración los elementos secundarios del elemento de documento, y Buscar todos los nodos "precio". Utilice el para cada construcción de bucle con la propiedad ChildNodes del objeto de nodo para buscar todos los nodos que tienen una propiedad de nombre es igual a "price". Duplique el precio de la libro.
    Visual Basic.NET de código
    Dim node2 As XmlNode 'Used for internal loop.
    Dim nodePriceText As XmlNode
    For Each node In node.ChildNodes
       'Find the price child node.
       For Each node2 In node.ChildNodes
          If node2.Name = "price" Then
             '                    nodePriceText = node2.InnerText
             Dim price As Decimal
             price = System.Decimal.Parse(node2.InnerText)
    
             ' Double the price.
             Dim newprice As String
             newprice = CType(price * 2, Decimal).ToString("#.00")
             Console.WriteLine("Old Price = " & node2.InnerText & Strings.Chr(9) & "New price = " & newprice)
             node2.InnerText = newprice
          End If
       Next
    Next
    
    Código C#
    foreach(XmlNode node1 in node.ChildNodes)
       foreach (XmlNode node2 in node1.ChildNodes)
          if (node2.Name == "price")
             {
                Decimal price = Decimal.Parse(node2.InnerText);
                // Increase all the book prices by 20%
                String newprice = ((Decimal)price*(new Decimal(1.20))).ToString("#.00");
                Console.WriteLine("Old Price = " + node2.InnerText + "\tNew price = " + newprice);
                node2.InnerText = newprice;
              }
    
  7. Utilice el método Save de la clase XmlDocument para guardar el contenido XML modificado en un nuevo archivo denominado InflatedPriceBooks.xml.

    Puede utilizar el método Save para guardar los datos XML a archivos, secuencias y XmlWriters.
    Visual Basic.NET de código
    myXmlDocument.Save("InflatedPriceBooks.xml")
    
    Código C#
    myXmlDocument.Save("InflatedPriceBooks.xml");
    
  8. Generar y ejecutar el proyecto.

Referencias

Para obtener más información, visite los siguientes sitios Web:
XML en.NET:.NET Framework XML Classes and C# oferta manipulación de datos Simple, escalable

Documento objeto Model (Core) Level 1

Núcleo del modelo de objeto de documento

XmlDocument (clase)

Clase XmlNode

XML Document Object Model (DOM)

Propiedades

Id. de artículo: 301233 - Última revisión: martes, 12 de junio de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Palabras clave: 
kbhowtomaster kbmt KB301233 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 301233

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com