|
Page 1 of 1
|
Alguien Sabe Como Utilizar Los Componentes XML
Author |
Message |
angelnu
Angel
Programador
Joined: September 2009
Posts: 106
Age: 61 Location:
|
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.
|
#1 Friday, 19 October 2012, 14:59 |
|
|
jsbsan
Analista Programador
Joined: September 2009
Posts: 4175
Age: 51 Location: dos hermanas, sevilla
|
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
|
#2 Friday, 19 October 2012, 18:37 |
|
|
jguardon
Administrador
Joined: September 2009
Posts: 2708
Age: 57 Location: Granada
|
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
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#3 Friday, 19 October 2012, 18:52 |
|
|
angelnu
Angel
Programador
Joined: September 2009
Posts: 106
Age: 61 Location:
|
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'?>
|
#4 Saturday, 20 October 2012, 11:32 |
|
|
|
Similar Topics
Similar Topics
|
Page 1 of 1
|
Users browsing this topic: 0 Registered, 0 Hidden and 0 Guests Registered Users: None
|
You cannot post new topics You cannot reply to topics You cannot edit your posts You cannot delete your posts You cannot vote in polls You cannot attach files You can download files You cannot post calendar events
|
|
|
|
|