Alguien Sabe Como Utilizar Los Componentes XML


Objetivo: Alguien Sabe Como Utilizar Los Componentes XML
Buenas tardes.

Estoy intentando utilizar el componente XML de gambas 3, tengo una base de datos en postgresql y postgresql tiene una funcion que te devuelve
una fila en formato XML ejemplo:
ss = "Select query_to_xml( 'select id,,id_cliente, total, fecha from w_totalalbaran where fecha >''01-10-2012''',false,false,'')"
re = con.Exec(ss)
st = re[0]

Me devuelve una consulta con el siguiente formato:
<table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<id> 35888 </id>
<num_documento> 8140 </num_documento>
<id_cliente> 20 </id_cliente>
<total> 13.50 </total>
<fecha> 2012-10-02 </fecha>
</row>
</table>

pienso coño esto es rapidisimo y con 4 lineas de codigo y un archivo css puedes hacer cualquier consulta a la BD y formatear como quieras el XML .
Mi problema es que no encuentro como insertar en el archivo XML la cabecera para el CSS : "<?xml-stylesheet href='pp.css' title='Pruebas con XML'?>"

Estoy probando con el codigo:
Citar:

Dim re As Result, jj As XmlDocument, sT As String
jj = New XmlDocument
ss = "Select query_to_xml( 'select id,num_documento,id_cliente, total, fecha from w_totalalbaran where fecha >''01-10-2012''',false,false,'')"
re = con.Exec(ss)
sT = re[0]
jj.FromString(sT)
jj.Write("pp.xml", "UTF-8")


Y me crea el fichero pp.xml bien, pero no se como insertar la cadena "<?xml-stylesheet href='pp.css' title='Pruebas con XML'?>" para que el navegador me formatee el archivo XML.

El componente XmlDocument no parece que tenga ningun metodo para eso, el unico componente que parece que tiene es el componente XmlWriter con el metodo PI, pero no se si se puede relacionar XmlDocument con XmlWriter.

Perfil MP  
Objetivo: Re: Alguien Sabe Como Utilizar Los Componentes XML
La consulta en xml, esta en un archivo,¿ verdad?

Se me ocurre que la abras como un archivo de texto plano, le añades el texto y luego lo guardes...


dim cadena_de_texto as string
'ruta es la ruta y el nombre del archivo de extension xml
cadena_de_texto = "texto que quieres de inicio" ' le añado el codigo que quieres
cadena_de_texto &= File.Load(ruta) ' le añado el contenido del archivo xml

file.Save(ruta, cadena_de_texto) ' lo guardo todo en el archivo con el mismo nombre, ya incluida el texto que quiero

Objetivo: Re: Alguien Sabe Como Utilizar Los Componentes XML
Hola

Puedes usar diferentes métodos existentes en la clase XmlElement para insertar ese nodo.

http://gambasdoc.org/help/comp/gb.xml/xmlelement?v3

También existe otro componente que se llama gb.xml.html que tiene la clase HtmlDocument que podría ayudarte si tu objetivo final es crear un documento Html con estilos css. Mirando la documentación he visto que dispone de una propiedad StyleSheets que posiblemente realice lo que pides. Aparte éste hereda algunas clases de Xml que también se pueden usar sin activar gb.xml.

http://gambasdoc.org/help/comp/gb.x.../stylesheets?v3

Saludos

Perfil MP  
Objetivo: Re: Alguien Sabe Como Utilizar Los Componentes XML
Gracias a jsbsan y a jguardon por sus respuestas..
Citar:

La consulta en xml, esta en un archivo,¿ verdad?


No la consulta la obtengo de la base de datos mediante una funcion interna de postgresql (Select query_to_xml) que me devuelve una fila con la consulta formateada en XML.
Lo que yo hago es crear un archivo XML con el siguiente codigo , que funciona .
Dim sT As String, ss As String
Dim Re As Result, Ffiche As File

ss = "Select query_to_xml( 'select id,num_documento,id_cliente, total, fecha from w_totalalbaran where fecha >''01-10-2012'' LIMIT 5',true,false,'consulta')"
' ss = "Select query_to_xml( 'select id,nombre, cif, correo_electronico, direccion,poblacion, pagina_web from clientes' ,true,false,'consulta')"
re = con.Exec(ss)
st = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
st &= "<?xml-stylesheet href='" & Application.Path &/ "pp.css' title='Estilo'?>\n\n"
sT &= re[0]
Ffiche = Open "/tmp/pp.xml" For Input Create
Print #Ffiche, st
Ffiche.Close

Lo que yo quiero es poder añadir el CSS a la cabecera del fichero XML y estoy intentando utiliar el componente XML por aprender pero no veo ninguna manera para poder editarlo he intentado utilizar XLMElement pero no funciona
Dim re As Result
Dim sT As String, ss As String, Xs As XmlDocument
Dim pp As XmlElement, xn As XmlElement

ss = "Select query_to_xml( 'select id,num_documento,id_cliente, total, fecha from w_totalalbaran where fecha >''01-10-2012'' LIMIT 5',true,false,'consulta')"
re = con.Exec(ss)
sT = re[0]

xs = New XmlDocument
xn = New XmlElement("?xml-stylesheet href='" & Application.Path &/ "pp.css' title='Estilo'?")
xs.Root.AppendChild(xn)
xs.Root.AppendFromText(st)
xs.Save("/tmp/pp.xml", True)

Me crea un nuevo elemento vacio pero despues de la etiquea xml asi:
<xml>
<?xml-stylesheet href='/home/angel/gambas3/probar/pp.css' title='Estilo'?>
</?xml-stylesheet href='/home/angel/gambas3/probar/pp.css' title='Estilo'?>

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0985s (PHP: -23% SQL: 123%)
Consultas SQL: 23 - Debug off - GZIP Activado