Avatar billede danni03 Nybegynder
01. december 2006 - 15:09 Der er 8 kommentarer og
1 løsning

Xml streaming til en string værdi

Jeg har et sjovt lille spørgsmål til den dygtige programmør.

Hvorfor får jeg et ? for an min xml tekst når jeg gemmer det?

jeg anvender følgende kode.

private string Rettigheder2BLOB(Brugerrettigheder brugerrettigheder)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(brugerrettigheder.GetType());
            MemoryStream memoryStream = new MemoryStream();
            XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
            xmlSerializer.Serialize(xmlTextWriter, brugerrettigheder);
            UTF8Encoding encoding = new UTF8Encoding();           
            return encoding.GetString(memoryStream.ToArray());
        }
Avatar billede danni03 Nybegynder
01. december 2006 - 15:12 #1
Altså jeg serialiserer et brugerrettigheder objekt til en string i xml format, med encoding utf-8.

Output er følgende:

?<?xml version="1.0" encoding="utf-8"?>
<Brugerrettigheder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   
<Rettighed1>En rettighed ÆØÅ æøå</Rettighed1>

</Brugerrettigheder>

Alt er helt fjong UNDTAGET første tegn der gør at hele udtrykket er ugyldigt.

Man kan selvfølgelig bare fjerne første tegn, men jeg er mere interesseret i at vide hvad der er galt med min ovenstående serialisering af objektet.

På forhånd mange tak.
Avatar billede arne_v Ekspert
01. december 2006 - 16:24 #2
det er vel en BOM
Avatar billede danni03 Nybegynder
04. december 2006 - 11:40 #3
Okay. Det vil sige at jeg egentlig bare kan se bort fra det tegn? Jeg streamer jo bare som tekst og sætter encoding til utf-8.
Efter hvad jeg kan forstå er det ikke nødvendig at sætte bom vd brug af utf-8 encoding?
Avatar billede arne_v Ekspert
04. december 2006 - 15:09 #4
det der skal laese det - kan det laese det ?
Avatar billede danni03 Nybegynder
05. december 2006 - 01:59 #5
Ja det kan det sagtens, men je ger nød til at fjerne det 'spørgsmålstegn' der bliver sat foran min streamede tekst.
Avatar billede arne_v Ekspert
05. december 2006 - 04:07 #6
prøv lige:

UTF8Encoding encoding = new UTF8Encoding(false);
Avatar billede danni03 Nybegynder
05. december 2006 - 16:49 #7
smid et svar :-)
Avatar billede arne_v Ekspert
06. december 2006 - 01:07 #8
det virkede ?
Avatar billede danni03 Nybegynder
06. december 2006 - 20:42 #9
Ja nu er det  '?'  væk når jeg opretter den
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