Avatar billede perj2000 Novice
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>
Avatar billede erikjacobsen Ekspert
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"
Avatar billede Slettet bruger
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
Avatar billede 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.
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