Sie sind auf Seite 1von 6

CMO: Leer XML de un archivo mediante Visual Basic .

NET

Page 1 of 6

http://support.microsoft.com/kb/301225/es

27-10-2011

CMO: Leer XML de un archivo mediante Visual Basic .NET

Page 2 of 6

Id. de artculo: 301225 - ltima revisin: domingo, 13 de mayo de 2007 - Versin: 2.3

CMO: Leer XML de un archivo mediante Visual Basic .NET


Este artculo se public anteriormente con el nmero E301225

No hay soporte tcnico disponible para la versin Beta de este producto. Si desea informacin acerca de cmo obtener soporte tcnico para una versin Beta, consulte la documentacin incluida con los archivos del producto o busque en el sitio Web desde el que descarg la versin.
Resumen

Este artculo muestra cmo utilizar la clase XmlTextReader para leer Lenguaje de marcado extensible (XML) de un archivo. XmlTextReader proporciona anlisis directo y encadenamiento de XML e implementa la especificacin XML 1.0, as como los espacios de nombres de la especificacin XML de W3C (World Wide Web Consortium). Este artculo proporciona un acceso secuencial rpido y sealizado a XML en lugar de utilizar un modelo de objetos como el Modelo de objetos de documentos (DOM) de XML.

Requisitos
En la lista siguiente se describe el hardware, el software, la infraestructura de red y los Service Pack recomendados que se necesitarn: Microsoft Visual Studio .NET En el presente artculo se da por supuesto que est familiarizado con los temas siguientes: Terminologa de XML Crear y leer un archivo XML

Cmo leer XML de un archivo


Este ejemplo utiliza un archivo llamado Books.xml. Puede crear su propio archivo Books.xml o utilizar el ejemplo que se incluye en QuickStarts con el kit de desarrollo de software (SDK) en la siguiente carpeta: \Program Files\Microsoft.NET\FrameworkSDK\Samples\ Quickstart\Howto\Samples\Xml\Transformxml\Vb Debe copiar el archivo Books.xml en la carpeta \Bin\Debug que se encuentra ubicada debajo de la carpeta en la que cre este proyecto. Books.xml tambin se puede descargar; consulte la seccin Referencias para la ubicacin de descarga. 1. Abra Visual Studio .NET

http://support.microsoft.com/kb/301225/es

27-10-2011

CMO: Leer XML de un archivo mediante Visual Basic .NET

Page 3 of 6

2. Cree una nueva aplicacin de consola en Visual Basic .NET. Puede continuar directamente en la seccin Lista completa de cdigo o continuar con estos pasos para generar la aplicacin. 3. Asegrese de que el proyecto contiene una referencia al ensamblaje System.Xml.dll. 4. Utilice la instruccin Imports en el espacio de nombre Xml para que no se le pida calificar las declaraciones XmlTextReader ms adelante en el cdigo. Debe utilizar la instruccin Imports antes que cualquier otra declaracin. Imports System.Xml

5. Construya una clase XmlTextReader con el archivo XML. Generalmente,XmlTextReader se utiliza si necesita tener acceso a XML como datos sin procesar sin la carga de un DOM; por lo tanto, XmlTextReader proporciona un mecanismo ms rpido para leer XML.XmlTextReader tiene diferentes constructores para especificar la ubicacin de los datos XML. El siguiente cdigo carga XmlTextReader desde el archivo Books.xml. Agregue el siguiente cdigo para construir XmlTextReader en el procedimiento Principal de Module1: Dim reader As XmlTextReader = New XmlTextReader ("books.xml")

6. Lea XML. (Tenga en cuenta que este paso muestra un bucle exterior "while" y que los dos pasos siguientes muestran cmo utilizar este bucle y cmo leer XML.) Despus de que se haya cargado, XmlTextReader realiza lecturas secuenciales para moverse por los datos de XML y utiliza el mtodo Read para ir al siguiente registro. El mtodo Read devuelve false si no hay ms registros. Do While (reader.Read()) ' Trabajar aqu en los datos. Console.WriteLine(reader.Name) Loop ' La lectura del archivo XML ha terminado. Console.ReadLine() 'Pause

7. Inspeccionar los nodos. Para procesar los datos de XML, cada registro tiene un tipo de nodo, que puede estar determinado por la propiedad NodeType. Las propiedades Nombre y Valor devuelven el nombre del nodo (los nombres del elemento y del atributo) y el valor del nodo (el texto del nodo) del nodo actual (o registro). La enumeracin NodeType determina el tipo de nodo. El siguiente cdigo de ejemplo muestra el nombre de los elementos y el tipo de documento. Tenga en cuenta que este ejemplo omite los atributos del elemento. Do While (reader.Read()) Select Case reader.NodeType Case XmlNodeType.Element 'Mostrar

http://support.microsoft.com/kb/301225/es

27-10-2011

CMO: Leer XML de un archivo mediante Visual Basic .NET

Page 4 of 6

comienzo del elemento. Console.Write("<" + reader.Name) Console.WriteLine(">") Case XmlNodeType.Text 'Mostrar el texto en cada elemento. Console.WriteLine(reader.Value) Case XmlNodeType.EndElement 'Mostrar final del elemento. Console.Write("</" + reader.Name) Console.WriteLine(">") End Select Loop

8. Inspeccionar los atributos. Los tipos de nodos de elementos pueden incluir una lista de nodos de atributos que estn asociados con ellos. El mtodo MovetoNextAttribute se mueve secuencialmente por cada atributo del elemento. Utilice la propiedad HasAttributes para probar si el nodo tiene algn atributo. La propiedad AttributeCount devuelve el nmero de atributos del nodo actual. Do While (reader.Read()) Select Case reader.NodeType Case XmlNodeType.Element 'Mostrar comienzo del elemento. Console.Write("<" + reader.Name) If reader.HasAttributes Then 'If attributes exist While reader.MoveToNextAttribute () 'Mostrar nombre y valor del atributo. Console.Write(" {0}='{1}'", reader.Name, reader.Value) End While End If Console.WriteLine (">") Case XmlNodeType.Text 'Mostrar el texto de cada elemento. Console.WriteLine(reader.Value) Case XmlNodeType.EndElement 'Mostrar final del elemento. Console.Write("</" + reader.Name) Console.WriteLine(">") End Select Loop

9. Guarde y cierre el proyecto.

Lista completa de cdigo


Imports System.Xml Module Module1 Sub Main() Dim reader As XmlTextReader = New XmlTextReader ("books.xml") Do While (reader.Read()) Select Case reader.NodeType Case XmlNodeType.Element 'Mostrar comienzo del elemento. Console.Write("<" + reader.Name) If reader.HasAttributes Then 'If attributes exist While reader.MoveToNextAttribute() 'Mostrar nombre y valor del atributo. Console.Write (" {0}='{1}'", reader.Name, reader.Value) End While End If Console.WriteLine(">") Case XmlNodeType.Text 'Mostrar el texto de cada elemento. Console.WriteLine (reader.Value) Case XmlNodeType.EndElement 'Mostrar final del elemento. Console.Write("</" + reader.Name)

http://support.microsoft.com/kb/301225/es

27-10-2011

CMO: Leer XML de un archivo mediante Visual Basic .NET

Page 5 of 6

Console.WriteLine(">") End Select Loop Console.ReadLine() End Sub End Module

Salida
<bookstore> <book> <title> La autobiografa de Benjamin Franklin </title> <author> <first-name> Benjamin </first-name> <last-name> Franklin </lastname> </author> <price> 8.99 </price> </book> <book> <title> El estafador </title> <author> <first-name> Herman </first-name> <last-name> Melville </last-name> </author> <price> 11.99 </price> </book> <book> <title> Gorgias </title> <author> <name> Platn </name> </author> <price> 9.99 </price> </book> </bookstore>

REFERENCIAS
El archivo siguiente se puede descargar desde el Centro de descarga de Microsoft: Descargar Books.xml ahora
(http://download.microsoft.com/download/xml/utility/1.0.0.1/wxp/enus/books.exe)

Para obtener ms informacin, consulte el artculo "XML in .NET: .NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation", de MSDN Magazine en el siguiente sitio Web de Microsoft: http://msdn.microsoft.com/library/default.asp?url=/library/en-u s/dnmag01/html/xml0101.asp
(http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnmag01/html/xml0101.asp)

Para obtener ms informacin acerca de la clase XmlReader, consulte el siguiente sitio Web de la biblioteca de clases de Microsoft .NET Framework: http://msdn.microsoft.com/library/default.asp?url=/library/en-u s/cpref/html/frlrfSystemXmlXmlReaderClassTopic.asp
(http://msdn.microsoft.com/library/default.asp?url=/library/enus/cpref/html/frlrfSystemXmlXmlReaderClassTopic.asp)

Para obtener ms informacin acerca de cmo utilizar XmlReader para leer datos de XML, consulte la siguiente documentacin de la gua del programador de Microsoft .NET Framework: http://msdn.microsoft.com/library/default.asp?url=/library/en-u s/cpguidnf/html/cpconreadingxmldatausingxmlreader.asp
(http://msdn.microsoft.com/library/default.asp?url=/library/enus/cpguidnf/html/cpconreadingxmldatausingxmlreader.asp)

http://support.microsoft.com/kb/301225/es

27-10-2011

CMO: Leer XML de un archivo mediante Visual Basic .NET

Page 6 of 6

La informacin de este artculo se refiere a:


Palabras clave: kbdownload kbhowto kbhowtomaster kbxml KB301225

http://support.microsoft.com/kb/301225/es

27-10-2011

Das könnte Ihnen auch gefallen