Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no
se puede reproducir, transcribir, almacenar a un sistema de recuperación o de
alteración, asimismo la traducción a otro idioma de ninguna forma o por ningún
medio mecánico, manual, electrónico, magnético, óptico o de otro modo.
Un documento XML valido tiene datos que cumplen con una serie de reglas definidas por un usuario que describen los
valores, elementos y orden correctos:
Representa un modelo
Provee un mecanismo de de objetos en memoria
lectura forward-only de de toda la estructura de
un documento XML XmlReader un documento XML
Es una clase que mantiene dentro de una cache el almacenamiento para la validación de esquemas de archivos XML.
Esta clase se introdujo para solucionar las deficiencias que tenían las clases de validación anteriores como
XmlValidatingReader y XmlSchemaCollection, como la validación con respecto a compatibilidad con estándares en
XML
XmlSchemaCollection XmlSchemaSet
Es compatible con los esquemas XML del Sólo es compatible con los esquemas XML del W3C.
W3C y del XDR de Microsoft.
Cada esquema genera una versión Los esquemas compilados generan un esquema único
compilada individual que puede producir lógico, es decir, un "conjunto" de esquemas. Cualquier
"islas de esquemas". Como resultado, esquema importado a un esquema que se haya
todas las inclusiones e importaciones sólo agregado al conjunto, también se agrega directamente
tienen el ámbito de ese esquema. al conjunto. Esto significa que todos los tipos están
disponibles para todos los esquemas.
Sólo puede haber en la colección un Se pueden agregar varios esquemas para el mismo
esquema para un espacio de nombres de espacio de nombres de destino siempre y cuando no
destino concreto. haya conflictos de tipo.
3.- Dentro del botón “Genera Archivos”, se realizara la creación de dos archivos un XML y el Esquema XSD
del XML, que contendrá información de la tabla Employees.
Try
xCon = New SqlConnection(strCon)
xCon.Open()
Dim ds As New DataSet("Empleados")
Dim sql As String = "SELECT EmployeeID, LastName, FirstName, " + _
"Address, City, Country, HomePhone " + _
"From Employees "
Dim Ad As New SqlDataAdapter(sql, xCon)
Ad.Fill(ds, "Empleado")
ds.WriteXml("Empleados.xml")
ds.WriteXmlSchema("Empleados.xsd")
xCon.Close()
Catch ex As Exception
MsgBox("Error:" + ex.Message)
End Try
4.- En el botón “Seleccionar XML” servirá para seleccionar el archivo XML generado anteriormente, el cual
también se mostrar en la caja de texto:
End If
openfile = Nothing
6.- Para la validación del archivo XML que corresponda con el esquema será el siguiente:
Try
Dim xSchema As New XmlSchemaSet
xSchema.Add(String.Empty, XmlReader.Create(xFileXSD))
While (reader.Read())
End While
La clase XmlTextReader se convierte en un lector de archivos XML de acceso rápido, pero solo con
desplazamiento hacia delante y de solo lectura, esto es debido a que no proporciona almacenamiento en
la caché del archivo levantado por esta clase.
Para ser uso de la clase XmlTextReader el documento XML se debe tener en cuenta los siguientes
requerimientos:
Read
Realiza la lectura del siguiente Nodo.
ReadElementString
Devuelve el valor del nodo indicado.
GetAttribute
Devuelve el valor del atributo indicado.
WhitespaceHandling
Los espacios en blanco no son tomados en cuenta por la clase.
ReadEndElement
Verifica si el nodo es un a etiqueta de cierre y desplaza al siguiente nodo.
IsStartElement
Comprueba si el nodo de contenido actual es una etiqueta de apertura.
LocalName
Obtiene el nombre actual del nodo.
2.- Dentro del botón “Leer XML”, escribiremos la selección del Arxhivo XML para obtener la ruta del
archivo y asi ejecutar el proceso MostrarAgencias.
3.- Para realizar el proceso MostrarAgencias necesitamos crear el siguiente XML con la siguente
estructura:
rd.WhitespaceHandling = WhitespaceHandling.None
Me.txtDatos.Text = xagencia
End Sub
La clase XmlDocument fue implementada bajo las normas de “Core Document Object Model (DOM)
Level 1” y el “Core DOM Level 2” del consorcio W3C.
Y con esto se logra que la clase XmlDocument lea un archivo XML en forma de árbol en memoria para
realizar tanto métodos de recorrido o exploración como de edición de documentos XML.
Esta clase es mas compleja pero nos permite recorrer los nodos sin tener que utilizar una lectura
secuencial, así se convierte en mas eficiente que la clase anterior y debe de ser usada para documentos
XML muy grandes
AppendChild:
Agrega un nodo especificado, dentro del documento XML, para esto se debe utilizar la clase
XmlElement el cual representa un nodo.
CreateAttribute
Devuelve un objeto XmlAttribute con el cual se usa el método SetAttribute para agregar
atributos con su valor en el nodo especificado.
CreateElement:
Devuelve un objeto XmlElement, para ser añadido a un documento XML mediante el método
AppenChild.
ImportNode:
Importa un nodo de otro documento al documento actual.
InsertAfter:
Inserta el nodo especificado después del nodo indicado.
InsertBefore:
ReplaceChild:
Reemplaza un nodo secundario por el nodo indicado.
El ejemplo que se realizara primero, se agregara un nuevo nodo cuyo nombre del nodo será Desarrollador
y con un valor igual al nombre Cesar Salazar, incluso con un atributo con el nombre de Tipo = “Junior”
(<Desarrollador Tipo="Junior">Cesar Salazar</ Desarrollador >), esto será dentro del nodo
<Desarrollo>.
xNodoNew.SetAttribute("Tipo", "Junior")
xNodoNew.InnerText = "Cesar Salazar"
xNodoElem.AppendChild(xNodoNew)
xDoc.Save(xfile)
Me.txtAhora.Text = ""
Me.txtAhora.Text = xDoc.InnerXml
End Sub
Clase XmlNodeList
La clase XmlNodeList Representa una colección de nodos ordenados, del cual se obtiene desde un
XmlDocument. Esta clase admite admite la iteración y el acceso por índice, para esto usa la clase
XmlNode.
Item:
Obtiene el valor del nodo del índice indicado.
GetEnumerator:
Para ser usado en una iteración de tipo For Each simple para el cual usa la entrega del nodo a
través de la clase XmlNodeList.
Clase XmlNode
La clase XmlNode es una clase abstracta la cual significa que no so trabajara directamente con ella, sino
que vamos a hacer uso de esta cuando se ha instanciada por la clase XmlDocument
ReplaceChild:
Reemplaza un nodo secundario por un nodo indicado.
ChildNodes.Item(nNodo).InnerText
Nos ayuda para determinar el valor del nodo seleccionado, nNodo indica la posición del nodo.
ChildNodes.Item(nNodo).Attributes.ItemOf(nAtributo).Value
Nos ayuda para determinar el valor del atributo seleccionado, nAtributo indica la posición del
atributo y la variable nNodo indica el nodo del cual va hacer leído el atributo.
2.- Dentro del botón “Leer XML”, se seleccionara el archivo XML, que luego hace el llamado del proceso
MostrarVendedores.
3.- Crearemos el siguiente archivo XML, donde uno de ellos contiene 2 atributos para poder leer su
contenido:
<Vendedores>
<Vendedor>
<codigo>VR44</codigo>
<nombres>Velarde Santa, Juan Tineo</nombres>
<agencia tipo="Tienda" estado="Activo">Agencia Ate</agencia>
</Vendedor>
<Vendedor>
<codigo>VFR2</codigo>
<nombres>Figueroa Quispe, Richard</nombres>
<agencia tipo="Almacen" estado="Activo">Agencia Lima</agencia>
</Vendedor>
<Vendedor>
<codigo>VG32</codigo>
<nombres>Castañeda Herrera, Jose Ivan</nombres>
<agencia tipo="Tienda" estado="Inactivo">Agencia Los Olivos</agencia>
</Vendedor>
</Vendedores>
4.- Para leer el XML con la clase XmlDocument, debemos realizar lo siguiente:
Me.txtDatos.Text = xVendedores
End Sub