Avatar billede instruktor Nybegynder
03. februar 2011 - 08:44 Der er 7 kommentarer og
1 løsning

læs xml fil med æøå

Hej jeg håber der er en der kan hjælpe, jeg skal læse en xml fil og bruge forskellige værdier derfra.

Dette går også ganske godt, men hvis der er æ,ø,ö eller andre non latin så fejler excel i indlæsningen. Er der nogle der ved hvordan jeg får den til at læse disse karakterer også ?

her er et uddrag af min kode.

Private Sub ReadReceipt(ByVal fileLokation As String)
'create data from a Receipt file (.E)
clearReceiptData

Dim XmlDoc As New DOMDocument30

Dim nodlst As IXMLDOMNodeList
'=========================
'Declaring node variable for the child elements
Dim nod As IXMLDOMNode

'==========================
Dim nodCnt As Long
Dim Data() As String
Dim i, CountPrtry, CountCd As Integer
i = 10
Dim testString As String
XmlDoc.async = False
CountPrtry = 0
CountCd = 0
'Loading the XML file on C drive

If XmlDoc.Load(fileLokation) Then
'==========================
'Assigning root node to the node list variable
Set nodlst = XmlDoc.SelectNodes("/Document/CstmrPmtStsRpt/OrgnlGrpInfAndSts")
Set nod = nodlst(nodCnt).SelectSingleNode("OrgnlMsgId")
Sheets("Reciept File").Cells(3, 2) = nod.text

Set nod = nodlst(nodCnt).SelectSingleNode("GrpSts")
Sheets("Reciept File").Cells(6, 2) = nod.text
Sheets("Reciept File").Cells(6, 3) = lookupCode(nod.text)

If nod.text = "ACCP" Or nod.text = "RJCT" Then
Set nodlst = XmlDoc.SelectNodes("/Document/CstmrPmtStsRpt/OrgnlGrpInfAndSts/StsRsnInf/Rsn")
Set nod = nodlst(nodCnt).SelectSingleNode("Prtry")
Sheets("Reciept File").Cells(6, 4) = nod.text
Sheets("Reciept File").Cells(6, 6) = lookupCode(nod.text)
Exit Sub
End If
Avatar billede jakobdo Ekspert
03. februar 2011 - 09:16 #1
Prøv at start med at gem XML filen som UTF8, så burde det ikke give problemer.
Avatar billede instruktor Nybegynder
03. februar 2011 - 09:25 #2
Hej Jakobdo,

Jeg forstå ikke helt hvad du mener med at gemme xml'en med utf8

filen jeg prøver at læse har allerede utf8 encording.

<?xml version="1.0" encoding="utf-8" ?>
Avatar billede jakobdo Ekspert
03. februar 2011 - 09:32 #3
encoding="utf-8" betyder ikke filen også er UTF8.
Det fortæller bare hvordan andre programmer skal forsøge at tolke det.

F.eks. kan du i notepad, når du gemmer en fil.
Vælge at gemme som: ANSI...UTF-8
Og det tror jeg er forskellen.
Avatar billede instruktor Nybegynder
03. februar 2011 - 09:41 #4
ok det må jeg lige prøve, er der en måde hvorpå man kan få vb til at gemme filen som UTF-8 før den åbner den?
Avatar billede jakobdo Ekspert
03. februar 2011 - 09:45 #5
Så meget kender jeg desværre ikke VB, beklager.
Avatar billede instruktor Nybegynder
03. februar 2011 - 09:52 #6
bare i orden, prøvede lige at gemme filen som utf-8 og det virkede, så må jeg lige en tur på google og finde en måde at klare resten på, da applikationen der læser xml'en ikke skal køre på min maskine.

men giv et svar så få du dine point :-)
Avatar billede jakobdo Ekspert
03. februar 2011 - 09:55 #7
Svar!
Avatar billede jakobdo Ekspert
03. februar 2011 - 10:05 #8
Takker for point
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
Kurser inden for grundlæggende programmering

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