Jag vill läsa in en xml fil via ett dataset. Men det blir alltid fel när det är med å ä ö. Gissningsvis behöver du läsa med en annan encoding. Mitt förslag är att du titta på System.IO.StreamReader istället Du skulle kunna prova att köra med följande kod: Hur har du skapat xml filen? eftersom du inte explicit anger encoding så används utf-8 som default. Genom att skapa kolumner och rader i ett dataset (ds.WriteXml("minFil.xml") skriver jag min XML-fil. åäöÅÄÖ kommer med med när det skall läsas blir det patrull. lämna bort Encoding.GetEncoding(1252) så torde det funka bättre.Problem med att läsa xml fil innehållande åäö
<code>
<?xml version="1.0" standalone="yes"?>
<pageload>
<company>
<name>Olle Öjemar</name>
<adress>Ängen</adress>
<postnr>633 58</postnr>
<ort>Eskilstuna</ort>
</company>
</pageload>
</code>
så här läser jag in filen
<code>
Dim streamRead As New System.IO.FileStream(filename, System.IO.FileMode.Open)
Dim ds As New Dataset
ds.ReadXml(streamRead)
</code>
Vad är det som saknas för att det skall fungera ? Både läsa och skriva.Sv: Problem med att läsa xml fil innehållande åäö
Sv:Problem med att läsa xml fil innehållande åäö
Men hur?
<code>
Encoding.GetEncoding(1252)
</code>Sv: Problem med att läsa xml fil innehållande åäö
<code>
Imports System.IO
Imports System.Text
Dim fs As New FileStream(t, FileMode.Open, FileAccess.Read)
Dim s As New StreamReader(fs, Encoding.Default)
</code>
Du kan sedan anropa:
s.Readline() för att läsa en
eller
s.ReadToEnd() för att läsa hela innehållet.
Exempel:
<code>
Dim p as String
p = s.ReadToEnd()
</code>
Där du i StreamReadern Encoding.Default vilket innebär att ditt program jobbar med de språkinställningar som du har på din dator.Sv: Problem med att läsa xml fil innehållande åäö
Sv:Problem med att läsa xml fil innehållande åäö
Har äne testat med detta MSDN förslag utan resltat. Förslaget skriver ingen "<?xml version="1.0" standalone="yes"?>" överhuvdtaget. Dessutm hamnar allt på en rad.
<code>
' Create a file name to write to.
Dim filename As String = "c:\testa.xml"
' Create the FileStream to write with.
Dim stream As New System.IO.FileStream _
(filename, System.IO.FileMode.Create)
' Create an XmlTextWriter with the fileStream.
Dim xmlWriter As New System.Xml.XmlTextWriter _
(stream, Encoding.GetEncoding(1252))
' Write to the file with the WriteXml method.
ds.WriteXml(xmlWriter)
xmlWriter.Close()
</code>
Men om man vänder på steken hur får jag dit en encoding när jag skriver en xml-fil från ett dataset ?Sv: Problem med att läsa xml fil innehållande åäö