Hej!
Jag undrar vad det är för skillnad på ovanstående objekt och vilken man helst ska använda sig av när jag läser in XML-dokument med ASP?
11 svar · 1 754 visningar · startad av Tonyboy
Hej!
Jag undrar vad det är för skillnad på ovanstående objekt och vilken man helst ska använda sig av när jag läser in XML-dokument med ASP?
Ja, jag undrar också vad det är för skillnader.
Vad är skillnaden på Microsoft.XMLDOM, Msxml2.XMLHTTP och Microsoft.XMLHTTP.
Microsoft.XMLDOM verkar klara av att både hämta en fil och hantera informationen (parse).
Msxml2.XMLHTTP och Microsoft.XMLHTTP kan bara hämta filen, men klarar av att göra det från en extern server.
Stämmer detta?
Microsoft.XMLHTTP är det som så populärt kallas XmlHttpRequest och är bla. grundstommen i Ajax-tekniken för webben. Detta API används för att göra HTTP-request mot en server och ta emot ett response. I huvudsak används det för att skicka XML-anrop men man kan egentligen skicka alla möjliga anrop, t.ex. JSON, HTML eller vanlig text.
Microsoft.XMLDOM och Msxml2.DomDocument är vad jag har hört exakt identiska, den första är bara en nyare benämning. Och detta API används för att läsa och skapa XML-dokument som följer DOM-modellen.
Men vilken bör användas om jag ska arbeta med ett XML-dokument som ligger på samma server?
Alla verkar ju klara av det. Iallafall att hämta filen.
Msxml2.XMLHTTP och Msxml2.DomDocument är samma sak då?
whad skrev:
Men vilken bör användas om jag ska arbeta med ett XML-dokument som ligger på samma server?
Alla verkar ju klara av det. Iallafall att hämta filen.
Microsoft.XMLHTTP används endast till att göra HTTP-anrop.
Om du vill skapa eller läsa ett XML-dokument så ska du använda Microsoft.XMLDOM.
what skrev:
Msxml2.XMLHTTP och Msxml2.DomDocument är samma sak då?
Nej.
Microsoft.XMLDOM = Msxml2.DomDocument
Microsoft.XMLHTTP = Msxml2.XMLHTTP = XmlHttpRequest
För att göra det ännu tydligare:
Både XMLDOM och XMLHTTP ingår ursprungligen i en grupp tekniker som kallas MSXML som kan användas i bla. ASP, VbScript, Javascript eller VB.
Här hittar du dokumentationen för respektive:
XMLDOM
XMLHTTP
På tal om detta så håller W3C mfl. på att utveckla en gemensam specifikation för XMLHTTP.
Tack! Jag tror jag förstår skillnaden lite bättre nu.
Om jag då har en ASP-fil som skriver ut ett XML-dokument så räcker det med Microsoft.XMLDOM?
Filen ska hämtas automatiskt med jämna mellanrum med hjälp av ett Javascript.
Om detta stämmer så behöver man ju inte använda Microsoft.XMLHTTP till Ajax om filen man vill åt ligger på samma server? Filen jag tänkte använda ska bara innehålla några siffror som ska uppdateras utan att hela sidan ska behöva laddas om. Microsoft.XMLHTTP behövs kanske bara när det är mer avancerat?
Det är viktigt att man skiljer på server- och klient-sidan. Gör såhär:
Server-sidan (ASP):
Bygg ett XML-träd med hjälp av Microsoft.XMLDOM. Skriv ut trädets XML-kod med Response.Write och sätt lämplig MIME-typ med Response.ContentType = "application/xml".
Klient-sidan (Javascript i webbläsaren):
Gör ett anrop mot din ASP-sida med hjälp av Javascript+XmlHttpRequest (Ajax).
Eftersom Javascript har inbyggda DOM-funktioner så kan du läsa XML-trädet direkt, du behöver ingen extra parser.
Du är nog trött på mig nu, men jag tror det är sista fråga.
Varför ska jag då använda XmlHttpRequest plus en parser på klientsidan när det räcker med Microsoft.XMLDOM?
whad skrev:
Varför ska jag då använda XmlHttpRequest plus en parser på klientsidan när det räcker med Microsoft.XMLDOM?
Därför att Microsoft.XMLDOM tillför ingenting hos klienten eftersom Javascript redan fungerar som XML-parser.
XmlHttpRequest används för att ladda ner ditt XML-dokument asynkront till webbläsaren.
Dessutom fungerar XmlHttpRequest av en händelse i alla moderna webbläsare (mer eller mindre).
Exemplet på http://www.w3schools.com/xml/xml_parser.asp använder Microsoft.XMLDOM.
Menar du att jag kan göra samma sak utan Microsoft.XMLDOM?
Det beror på vad du vill göra :P
Väldigt sällan vill man bygga nya XML-dokument i själva webbläsaren.
Man måste komma ihåg att såväl Microsoft.XMLDOM som Microsoft.XMLHTTP är s.k. COM-objekt, som i Javascript-sammanhang bara fungerar med Internet Explorer.
Men just Microsoft.XMLHTTP har av en händelse börjat leva sitt eget liv på webben i form av "XmlHttpRequest", som fungerar tillräckligt bra i övriga webbläsare för att kunna användas på allvar.