perj2000 Praktikant
31. januar 2010 - 00:42 Der er 3 kommentarer

Indlæsning af XML dokument

Hej alle

Er nogen blandt jer der kan se hvad der er galt med dette simple script. Jeg har aldrig før lavet noget med XML og mangler derfor grundlæggende forståelse.
Dokumentet jeg forsøger at læse ind er vedlagt (efter scriptet). Jeg har kaldt T.xml og lægger samme sted som scriptet der skal læse det. Fejlen udskrives (Linie 6) og jeg aner ikke hvorfor.


<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
Set objLst = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load (Server.MapPath("T.xml"))
If objXML.parseError.errorCode <> 0 Then
  response.write("<br>FEJL / " & objXML.parseError.errorCode)
End If

Set objLst = objXML.getElementsByTagName("*")

For i = 0 to (objLst.length-1)
  response.write("<br>nodeName=" & objLst.item(i).nodeName )
Next
%>

<?xml version="1.0" encoding="ISO 8859 1" ?>
<SearchResponse>
<SessionId>1007975337731</SessionId>
<HttpRequest>
<![CDATA[ http://www.testsite.dk/
]]>
</HttpRequest>
<Response id="1">
<TypeOfJourney>RT</TypeOfJourney>
<TypeOfTicket>Both</TypeOfTicket>
<FormOfPayment>Both</FormOfPayment>
<LastPaymentDate>2010 1 30</LastPaymentDate>
<WayOut>
<Departure>
<CityCode>CPH</CityCode>
<USDate>05FEB10</USDate>
<USTime>15:40</USTime>
</Departure>
<Arrival>
<CityCode>ARN</CityCode>
<USDate>05FEB10</USDate>
<USTime>16:55</USTime>
</Arrival>
</WayOut>
<WayIn>
<Departure>
<CityCode>ARN</CityCode>
<USDate>01MAR10</USDate>
<USTime>17:25</USTime>
</Departure>
<Arrival>
<CityCode>CPH</CityCode>
<USDate>01MAR10</USDate>
<USTime>18:40</USTime>
</Arrival>
</WayIn>
<PriceInfo>
<NrOfAdults>1</NrOfAdults>
<TotalPrice>933.0</TotalPrice>
<NetPrice>649.0</NetPrice>
<Tax>284.0</Tax>
</PriceInfo>
<FlightInfo>
<Out id="1">
<SegmentInfo id="1">
<Departure>
<CityCode>CPH</CityCode>
<USDate>05FEB10</USDate>
<USTime>15:40</USTime>
</Departure>
<Arrival>
<CityCode>ARN</CityCode>
<USDate>05FEB10</USDate>
<USTime>16:55</USTime>
</Arrival>
<AirlineName>Norwegian</AirlineName>
<AirlineCode>DY</AirlineCode>
<FlightNumber>3212</FlightNumber>
<ClassOfService>RESTRICTED</ClassOfService>
</SegmentInfo>
</Out>
<In id="1">
<SegmentInfo id="1">
<Departure>
<CityCode>ARN</CityCode>
<USDate>01MAR10</USDate>
<USTime>17:25</USTime>
</Departure>
<Arrival>
<CityCode>CPH</CityCode>
<USDate>01MAR10</USDate>
<USTime>18:40</USTime>
</Arrival>
<AirlineName>Norwegian</AirlineName>
<AirlineCode>DY</AirlineCode>
<FlightNumber>3213</FlightNumber>
<ClassOfService>RESTRICTED</ClassOfService>
</SegmentInfo>
</In>
</FlightInfo>
</Response>
</SearchResponse>
erikjacobsen Professor
31. januar 2010 - 00:50 #1
Det kan sikkert være flere ting, men nu er der ikke et tegnsæt med det navn du anfører - det hedder "ISO-8859-1"
31. januar 2010 - 00:54 #2
Din encoding ser ud til at mangle et par dashes:

<?xml version="1.0" encoding="iso-8859-1"?>

- Husk at din editor også skal gemme i den encoding - ellers er det ligegyldigt.

Desuden bør du udskifte "Microsoft.XMLDOM" med "MSXML2.DOMDocument" eller en versionsbestemt (afhængig af hvad der er installeret) f.eks. "MSXML2.DOMDocument.4.0"

"Microsoft.XMLDOM" er en tudsegammel sag, men W3Schools har den stående endnu...

/CS
arne_v Ekspert
31. januar 2010 - 02:27 #3
Korrekt navn paa encoding boer loese problemet.

Men et antal:

Set blabla = Nothing

ville nok også være godt.
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

Opret Preview

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





Premium
Test: Huaweis Matebook X er særlig laptop med en svaghed, som du skal være opmærksom på
Huawei beviser endnu en gang, at de sagtens kan mingle sig med de bedste pc-producenter. Men alligevel skyder selskabet lidt ved siden af, med sin nyeste maskine.
Computerworld
Bitcoinen nåede lige at kulminere igen – men så kom krakket
Der blev sat en ny rekord for bitcoinens værdi i år – men godt 24 timer efter blev der høvlet næsten 20.000 kroner af den.
CIO
Podcast: Her er seks gode råd om ledelse og digitalisering fra danske top-CIO'er
The Digital Edge: Vi har talt med 17 af Danmarks dygtigste digitale ledere - og samlet deres seks bedste råd om digitalisering og ledelse. Få alle rådene på 26 minutter i denne episode af podcasten The Digital Edge.
Job & Karriere
Se Waoos forklaring: Derfor har selskabet fyret topchef Jørgen Stensgaard med omgående virkning
Waaos bestyrelse opsiger fiberselskabets topchef, Jørgen Stensgaard, der fratræder med omgående virkning. Se hele forklaringen fra Waao her.
White paper
Sådan øger du medarbejdertilfredshed og produktivitet
En af de mest effektive måder at øge medarbejdernes produktivitet og tilfredshed med arbejdspladsen er ved at give frit valg mellem Windows eller Mac, når der skal vælges arbejdscomputer. Samtidig mindskes presset på supporten, mens sikkerhedsniveauet højnes. Med en client-as-a-service aftale kan du lade medarbejderne selv træffe valget, men uden at uden at det behøver at være udfordrende eller ressourcekrævende for virksomheden. Eksempelvis kan du lade partneren håndtere alt fra finansiering, leverance, klargøring og implementering til support og lifecycle-management. Læs mere i denne hvidbog.