Convertir fichier xml en tableau d'octets

didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015 - 24 sept. 2010 à 21:28
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 30 sept. 2010 à 18:56
Bonjour,
Je dispose d'un fichier xml que je dois envoyer en flux de tableaux d'octets, existe t-il une fonction qui permet de convertir la chaine de caractère de mon fichier xml en un tableau d'octets ?
MErci par avance à celui qui pourra me mettre sur la piste je ne trouve aucune aide à ce sujet.

didou

10 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
27 sept. 2010 à 13:13
Bonjour,

alors oui, utilises un Stream (TFileStream par exemple)!

A+
0
didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015
27 sept. 2010 à 14:25
Merci à toi Mauricio de t'être interessé à mon pb, peux tu m'en dire un peu plus car je sais utiliser le TfileStream en revanche comment envoyer via ce stream mon fichier comme un flux d'octets? j'ai un cahier des charges d'une API qui me stipule d'envoyer ce fichier en tableau d'octets et je ne sais pas comment m'y prendre, je ne sais pas envoyer quelque chose en tableau ??
merci encore si tu peux me donner un coup de pousse.

Cordialement

didou
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
27 sept. 2010 à 14:48
Tout dépend de ce que tu veux faire: tu veux envoyer l' info par connexion TCP/IP?
Si c' est le cas, je te conseille d' utiliser les compos Indy!

A+
0
didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015
27 sept. 2010 à 16:34
Oui en TCP/IP justement j'utilise à l'heure actuelle un socket pour l'envoi de cette trame, j'envoie deja des commandes via indy et socket mais en general ce sont des trames toutes faites données par le constructeur de l'appareil avec lequel je communique, cependant là c'est different voici un morceau de fichier que je dois envoyer en tableau d'octets ..
// fichier xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <DCinemaSecurityMessage xmlns="http://www.smpte-ra.org/schemas/430-3/2006/ETM" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:enc="http://www.w3.org/2001/04/xmlenc#">
- <!-- Generated by Wailua Version 0.5.29
-->
-
<MessageId>urn:uuid:e109ea20-ba76-4a6e-a618-cb4c891326de</MessageId>
<MessageType>http://www.smpte-ra.org/430-1/2006/KDM#kdm-key-type</MessageType>
ESSAI FICHIER_VF ~ KDM for LE SPB MD SM.DCP2000-207389.DC.DC2.SMPTE
2010-06-27T13:29:38+00:00
.... etc
//
et là meme avec les compo indy je ne sais pas comment convertir ce fichier en tableau d'octects prêt à etre envoyé via 1 socket.

encore merci pour ton aide
didou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015
30 sept. 2010 à 16:52
Salut Mauricio, tu m'as laissé tomber ? Je ne trouve pas de solutions à ma demande ...
merci quand meme

didou
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 sept. 2010 à 17:02
Qu' entends tu par tableau d' octets? Je comprends pas ...
Tu ne l' envoie pas comme stream?
0
didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015
30 sept. 2010 à 17:40
Je dois envoyer une trame via un socket dans lequel je dois insérer un flux d'octets (voir fichier plus haut xml), je ne sais pas comment m'y prendre que ce soit avec un stream ou autre, j'ai lu plein d'infos à ce sujet mais je ne sais comment convertir ce fichier 'caractere ascii'
en flux d'octets je ne connais pas l"utilisation du stream
desole si cela te parait simple mais moi je ne sais pas comment m'y prendre, peux tu me mettre sur la piste tu as l'air de savoir de quoi tu parles avec le stream
merci par avance
didou
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 sept. 2010 à 17:44
Quelle est ta version de Delphi?
Quelle est ta version de Indy?
Quels sont les compos indy que tu utilises déjà pour les commandes?
Est ce que le fichier que tu veux envoyer est sur le disque? Si non, dans un Memo?

A+
0
didou2dek Messages postés 45 Date d'inscription lundi 9 septembre 2002 Statut Membre Dernière intervention 16 avril 2015
30 sept. 2010 à 18:47
J'utilise delphi 7, indy fourni avec et idTCPClient, pour ce qui est de l'envoi via socket j'utilise un TclientSocket
le fichier se trouve sur le disque dur sous l'extension .xml

A+

didou
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 sept. 2010 à 18:56
Après avoir analysé vite fait le compo, essaye d' utiliser les commandes suivantes:

IdTCPClient1.Socket.Write();
ou
IdTCPClient1.IOHandler.Write();

A+
0
Rejoignez-nous