Avatar billede rust10 Nybegynder
04. marts 2004 - 14:20 Der er 2 kommentarer og
1 løsning

xml og binær data

Jeg har en metode der tilgår min database hvor den henter noget binær data, og jeg laver det om til XML med ds.GetXml() metoden, regner med at den laver det der base64 encoding fis for at lave det om til text. Metoden ser sådan her ud:

public string getBugAttachment(int id)
{
  DataSet ds = new DataSet("BugAttachments");
  OleDbDataAdapter da = new OleDbDataAdapter("SELECT BugAttachment FROM tblBugAttachments WHERE BugAttachmentID ="+id, conn);
  da.Fill(ds,"Attachment");
  return ds.GetXml();
}

Men senere hen i programmet vil jeg jo gerne have fat i det binære data der ligger i strengen.. hvordan decoder jeg og putter det tilbage til et byte array, fra den streng af?

XML strengen ser sådan ud:
<BugAttachments>
  <Attachment>
    <BugAttachment>/9j/4AAQBAQBIAAD..blah..blah..</BugAttachment>
  </Attachment>
</BugAttachments>
Avatar billede rust10 Nybegynder
04. marts 2004 - 15:25 #1
fandt ud af det på denne måde:

byte[] bugAttach = new Byte[buff];
XmlDocument xd = new XmlDocument();
xd.LoadXml(dbc.getBugAttachment(1));
XmlNodeList xnl = xd.GetElementsByTagName("Attachment");
XmlElement xe = (XmlElement)xnl.Item(0);
string binarypis = xe.InnerText;
bugAttach=Convert.FromBase64String(binarypis);

Af en eller anden grund er bugAttach ikke ens med det byte[] jeg får når jeg læse filen ind fra disken, men længden af dem, og alle pladserne på de to arrays er ens, men Equals() giver stadig false. Det kan min csUnit test klasse ikke lide..
Avatar billede pablopablo Nybegynder
05. marts 2004 - 00:33 #2
Hejsa Rust10...jeg har lavet et program som modtager data fra en maskine af...første sender maskinen en masse ASCII værdi...så En masse bits...og så igen en masse ASCII værider....mit program kan godt indlæse det hele...dvs...ASCII værdier kan man jo aflæse med det blotte øje...men div. bits...jeg det ved jeg ikke hvordan det skal tolkes...jeg har ikke rigtig nogen mulighed for at få nogen detaljeret protokol eller lign...hvordan jeg skal oversætte disse bits til noget læstbart? Bit'ne bliver brugt til at tenge 3 stk grafer...Hvis man tilslutter en printer på Com-porten i stedet for et kabel til en anden com. som ellers analyserede div. resultater...ja...så printer den de 3 stk grafer ud...hvordan kan den det?? Så må det da være noget MEGET standartliseret format eller lign...

Kan du hjælpe mig??

Mvh. PabloPablo
Avatar billede rust10 Nybegynder
28. marts 2004 - 12:50 #3
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester