Importar datos desde xml

11/08/2005 - 14:10 por Beren | Informe spam
Hola,

No sé si me voy a explicar bien. La cuestión es que necesitamos importar a
Crystal Reports unos datos que tenemos en un xml que también hemos creado
nosotros dinámicamente a partir de una base de datos.

Antes de todo, aclarar que no nos enteramos demasiado, que digamos, de cómo
va el xml, y no porque no lo hayamos intentado, pero se ve que no somos
demasiado inteligentes ;-)

Pero bueno, yendo al problema en sí, el hecho es que tenemos un archivo .xml
con los datos y otro archivo .xsd (es decir, un xml schema de esos) en el
que está el tipo de datos, que por lo que hemos leido es como tiene que ser.
¿Y qué nos pasa? Pues lo típico: Como que en inglés los números los escriben
del estilo: 9,543.02, los datos que son decimales nos marcan error, ya que
nosotros los hemos escrito los números del estilo 9.543,02.

Ya sabemos que al crear el xml podríamos hacerlo cambiando puntos por comas
y lo inverso pero, siendo xml algo hecho teóricamente para ser lo más
estándar posible, ¿no existe un tipo de decimal estilo "español"? O ¿se
puede (o se debe) definir un tipo simple basado en el decimal?

He estado mirando por Internet y, aunque parezca mentira, no he encontrado
nada sobre el tema.

Espero que se me entienda. Al fin y al cabo, el problema es el típico y
eterno que tienen los programadores desde siempre, ¿no?

Bueno, un saludo y gracias por la posible ayuda.

Preguntas similare

Leer las respuestas

#1 Miguel Angel Campos
12/08/2005 - 09:14 | Informe spam
Si quieres utilizar un XSD (XML Schema) debes cumplir con los estandares
definidos para su utilización, los validadores de XSD te permiten comprobar
que un determinado fichero XML cumple con dicho esquema, pero para eso los
datos deben estar almacenados de una forma definida en los estandares que
define www.w3.org. Te adjunto lo link a los estandades que definen los XSD:
http://www.w3.org/XML/Schema
http://www.w3.org/TR/xmlschema-0/
http://www.w3.org/TR/xmlschema-1/
http://www.w3.org/TR/xmlschema-2/

En el último enlace es donde se definen todos los formatos que se deben
utilizar para almacenar la información.
Evidentemente se que no te vas a leer estos enlaces, por que en muchas
ocaciones paracen textos cripticos, pero si hay gente que se lo lee, e
implementan determinadas herramientas que facilitan el uso de estos
ficheros.
Si ustedes generais directamente el fichero XML debeis cumplir el estandar,
si utilizais otros mecanismos como serialización de clases, obtener el XML
directamente de la base de datos, etc, ya vendrá bien formado.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Beren" escribió en el mensaje
news:

Hola,

No sé si me voy a explicar bien. La cuestión es que necesitamos importar a
Crystal Reports unos datos que tenemos en un xml que también hemos creado
nosotros dinámicamente a partir de una base de datos.

Antes de todo, aclarar que no nos enteramos demasiado, que digamos, de
cómo
va el xml, y no porque no lo hayamos intentado, pero se ve que no somos
demasiado inteligentes ;-)

Pero bueno, yendo al problema en sí, el hecho es que tenemos un archivo
.xml
con los datos y otro archivo .xsd (es decir, un xml schema de esos) en el
que está el tipo de datos, que por lo que hemos leido es como tiene que
ser.
¿Y qué nos pasa? Pues lo típico: Como que en inglés los números los
escriben
del estilo: 9,543.02, los datos que son decimales nos marcan error, ya que
nosotros los hemos escrito los números del estilo 9.543,02.

Ya sabemos que al crear el xml podríamos hacerlo cambiando puntos por
comas
y lo inverso pero, siendo xml algo hecho teóricamente para ser lo más
estándar posible, ¿no existe un tipo de decimal estilo "español"? O ¿se
puede (o se debe) definir un tipo simple basado en el decimal?

He estado mirando por Internet y, aunque parezca mentira, no he encontrado
nada sobre el tema.

Espero que se me entienda. Al fin y al cabo, el problema es el típico y
eterno que tienen los programadores desde siempre, ¿no?

Bueno, un saludo y gracias por la posible ayuda.


Respuesta Responder a este mensaje
#2 patricia
24/08/2005 - 12:38 | Informe spam
Beren, Se que salgo un poco del tema,pero... dices que has creado xml a
partir e una base de datos.
Hace tiempo que lo estoy intentando pero no se como generarlo.
Podrias decirme como lo has hecho?
Respuesta Responder a este mensaje
#3 skar
24/08/2005 - 20:06 | Informe spam
Aqui va un pequenio ejemplo de ASP:
<%@ Language=VBScript %>

<% Function GetRecordset()
Dim cnn

Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=SQLOLEDB.1;Initial Catalog=PUBS;Data Source=localhost",
"sa", ""
Set GetRecordset = cnn.Execute("select * from authors")
End Function %>

<html>
<head>
<title>Straight ASP Approach</title>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body>

<h1>Authors</h1>

<table cellpadding="3" cellspacing="0">
<tr>
<th>SSN</th>
<th>Last Name</th>
<th>First Name</th>
<th>Phone</th>
</tr>
<% Dim rs
Set rs = GetRecordset()
While Not rs.EOF %>
<tr>
<td><%=rs("au_id")%></td>
<td><%=rs("au_lname")%></td>
<td><%=rs("au_fname")%></td>
<td><%=rs("phone")%></td>
</tr>
<% rs.MoveNext
Wend
rs.Close
Set rs = Nothing
%>
</table>
</body>
</html>

"Patricia" wrote in message
news:%
Beren, Se que salgo un poco del tema,pero... dices que has creado xml a
partir e una base de datos.
Hace tiempo que lo estoy intentando pero no se como generarlo.
Podrias decirme como lo has hecho?


Respuesta Responder a este mensaje
#4 skar
24/08/2005 - 20:08 | Informe spam
este esta mejor:
* La clave es el metodo RecordsetToXMLDoc(GetRecordset(), "nodo")
<%@ Language=VBScript %>
<!-- #INCLUDE FILE="inc/xmlutil.asp" -->

<% Function GetRecordset()
Dim cnn

Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=SQLOLEDB.1;Initial Catalog=PUBS;Data Source=localhost",
"sa", ""
Set GetRecordset = cnn.Execute("select * from authors")
End Function %>

<html>
<head>
<title>Straight XML Approach</title>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body>
<h1>Default IE5 View</h1>
<% = TransformXML( RecordsetToXMLDoc(GetRecordset(), "author"),
"xsl/defaultss.xsl" ) %>
</body>
</html>

"Patricia" wrote in message
news:%
Beren, Se que salgo un poco del tema,pero... dices que has creado xml a
partir e una base de datos.
Hace tiempo que lo estoy intentando pero no se como generarlo.
Podrias decirme como lo has hecho?


Respuesta Responder a este mensaje
#5 Beren
25/08/2005 - 09:26 | Informe spam
Perdona Patricia, no había visto el mensaje. La verdad es que me ayudó un
amigo con un pequeño programa en Visual Basic. Por tanto, supongo que debe
ser algo similar a lo que ha enviado skar.

Por cierto, he estado buscando la solución a mi problema y me parece que va
a ser la que ya tenía: Variar el xml poniéndole el tipo de datos "a la
inglesa" para así poder importarlo desde Crystal. La verdad es que, después
de leerme un montón de documentos, no he sido capaz de encontrar una
solución mejor. Lo siento Miguel Ángel, pero es lo máximo que he conseguido
con tu ayuda.

Hay algo que me sorprende, y es que el problema que tengo yo no lo tenga más
gente. Lo digo porque he estado buscando por ahí y no he encontrado nada.
Explicaré exactamente mi caso:

Tengo datos en archivos de COBOL y quiero mostrarlos en un informe de
Crystal Reports. En vez de hacer un archivo de texto plano separando los
campos con puntos y comas, pensé: "Será mucho mejor hacerlo con xml, que así
puedo marcar el tipo de datos y operar luego con ellos en Crystal". Pero por
lo visto, a los no anglosajones no se nos tiene en cuenta y los datos tienen
que estar en inglés. Pues nada, a fastidiarse y a tenerlo en cuenta en el
momento de generar el archivo.

Un saludo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida