Gamarod JavaScript - Rutinas JavaScript Efectos javascript Codigos javascript Rutinas JavaScript

Programacion




Todo sobre Xml - Crear  recordsets XML

Crear recordsets XML






Un nuevo método para sumar a un objeto recordset, es la capacidad de guardar  recordsets dentro del formato XML.

La Función RecordsetToXML

El primer item es una variable global

<%
Dim iLevel

Lo que sigue es la daclaración de la función (toma 2 argumentos). El primero es recordset a convertir y el segundo es el nombre que se la dará a la colección XML.

Function RecordsetToXML (oRec, sName)

 Dim oFld
 Dim sXML
 Dim sSpaces
 Dim nNames

sSpaces = Spaces (iLevel * 2)

Checkear cuando el nombre pasado es plural o no

If Right (sName, 1) = "s"  Then

 sNames = sName
 sName = Left(sName, Len(sName) -1)

Else
 sNames = sName & "s"
End If

Ahora hay que desarrollar el string XML

sXML = sSpaces & "<" & sNames & "<" & vbCR

Listos para el primer recordset

iLevel = iLevel + 1
sSpaces = Space (iLevel * 2)

Recorrer el recordset

oRec.MoveFirst
While Not oRec.EOF

Ahora estamos dentro de un record, y sumamos el tag al string XML

For Each oFld In oRec.Fields

Si este campo es un recordset, llamar a la función RecordsetToXml nuevamente

If oFld.Type = adChapter Then
 Set oChapter = oFld.Value
 If Not oChapter.EOF Then
 iLevel = iLevel + 1

 sXML = sXML & RecordsetToXML (oChapter,  oFld.Name)

 iLevel = iLevel -1
End If

Else

sXML = sXML & sSpaces & " " & "<"  & oFld.Name  & ">"  & oFld.Value  &  "</"  &  oFld.Name  &  ">" & vbCR

 End If
Next

Terminar el final de un record y sumar el final de un record tag

sXML = sXML &  sSpaces  &  "</"  &  sName  & "<"  & vbCR

Mover dentro del próximo record

oRec.MoveNext
Wend

iLevel = iLevel - 1
sSpaces = Space (iLevel * 2)

sXML = sXML & sSpaces &  "</"  & sNames & ">"  & vbCR

Finalmente, retornamos el string XML

RecordsetToXML = sXML
End Function
%>

Utilizar la Función

<!--METADATA  TYPE="typelib"  FILE="C:\program files\common files\system\ado\msado15.dll -->

<!-- #INCLUDE FILE="RecordsetToXML.asp"-->

<%
Set oRec = Server.CreateObject("ADODB.Recordset")  oRec.Open  "authors", "DNS=pubs"

Response.Write  RecordsetToXML (oRec, "Authors")
oRec.Close
%>

Esto crea el siguiente código XML:

<Authors>
<Author>
<au_id>172-32-1176</au_id>
<au_Iname>Whiter</au_Iname>
<au_fname>Bob</au_fname>
<phone>408 496-7223</phone>
<address>10932 Bigge Rd.</address>
<city>Menlo Park</city>
<state>CA</state>
<zip>94025</zip>
<contract>True</contract>
</Author>

<Author>
<au_id>213-46-8915</au_id>
<au_Iname>Green</au_Iname>
</Author>
</Authors>

Data Binding

Usar esto como parte de tu RDS data-binding scheme es bastante sencillo. Con IE5 es puede usar el XML directamente el la página HTML, de dos maneras. Incluyendo un XML Dada Island:

<XML ID="dsoAuthors">
<Authors>
<Author>
<au_id)172-32-1176</au_id>

</Author>
<Author>
<au_id>213-46-8915</au_id>
<au_Iname>Green</au_Iname>
</Author>
</Authors>
</XML>

O se puede uar el tag XML y referenciar el XML data:

<XML ID="dsoAuthors"  SRC="authors.xml">
</XML>

<TABLE DATASRC="#dsoAuthors" CELLSPACING=10>
<TR ID="tblSales" vAlign="TOP">
<TD><SPAN DATAFLD="au_fname"></SPAN></TD>
<TD><SPAN DATAFLD="au_Iname"></SPAN></TD>
<TD><SPAN DATAFLD="phone"></SPAN></TD>
<TD><SPAN DATAFLD="city"></SPAN></TD>
<TD><SPAN DATAFLD="state"></SPAN></TD>
</TABLE>




Informe (Xml) de Alejandro Gassmann


 
Valora este artículo   Malo Excelente  

Han valorado este artículo de Xml. 9 usuario(s).
Valoración media: Crear

Este artículo ha sido leído ( 8390 veces ).
Fecha: 4/17/2003


Agregar comentario | (0) comentarios
trucos Xml Recomendar este artículo Xml
Foros sobre Xml
Xml
Imprimir Xml
artículo Xml Agregar a Favoritos este artículo Xml


Xml
Artículos Relacionados

• Novedades de XML para Microsoft Windows 2000

• Crear recordsets XML

• Introducción al XML.

• El DXML se globaliza: La traducción y los menús XML/DHTML.

• Codificación de datos XML

• Por qué XML?

• Manual para principiantes de XML DOM