|
Página 1 de 1
|
Alguien Sabe Como Utilizar Los Componentes XML
Autor |
Mensaje |
angelnu
Angel
Programador
Registrado: Septiembre 2009
Mensajes: 106
Edad: 61 Ubicación:
|
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 Viernes, 19 Octobre 2012, 14:59 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: 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 Viernes, 19 Octobre 2012, 18:37 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: 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 Viernes, 19 Octobre 2012, 18:52 |
|
|
angelnu
Angel
Programador
Registrado: Septiembre 2009
Mensajes: 106
Edad: 61 Ubicación:
|
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 Sabado, 20 Octobre 2012, 11:32 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|