Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.

Relaterede dokumenter
XML i PHP. Denne artikel gennemgår kort nogle af de mange muligheder for brug af XML i PHP. Det sker ved brug af eksempler. Eksemplerne kræver PHP 5.

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

Mere XML i Java. Denne artikel beskriver brug af XML i Java udover parsning (som er beskrevet i artiklen "XML parsning i Java").

Afsending af s vha. ASP

Nye Java XML API'er

Arkitektur for begyndere

Endnu mere om tilfældige tal

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Loginsystem (med MySQL)

Ratingsystem i PHP og MySQL

Eksempel på transformation: XML -> RTF dokument:

Kontrol-strukturer i PHP

Bilag 10. Dataindhold i SUP-databaser. Udkast af 12. juni Udarbejdet for. SUP-Styregruppen

I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke

Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.

At klippe en streng over på det mest hensigtsmæssige sted

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET

Database design for begyndere

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

Tagwall med Php & MySQL

Gæstebog med validering opbygget med MySQL

applikation----x----odbc driver manager----foobar ODBC driver----foobar database

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Upload af billeder/filer for nybegyndere Del. 2

I mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.

Dynamisk PHP design OPDATERET

Form og dens underlige box model

Introduction til.net remoting i VB.NET

Begrynder til at lave log ind system

Introduktion til SQL queries

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.

Log ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud.

Servere har ikke kun noget at gøre med et lokalnet eller med Internettet. Ethvert program som fungerer som en lytter er en server!

Java web applikationer med Tomcat

Start på javascript. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 03. Feb 2009 af webstuff I kategorien Programmering / JavaScript

Logging i Java. Den forudsætter kendskab til Java og noget generel udviklings erfaring. Denne guide er oprindeligt udgivet på Eksperten.

PHP guide af Daniel Pedersen

Web 2.0. World Wide Web (www)

Singleton pattern i Java

Introduction til.net remoting i C#

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.

Dette er en grundlæggende artikel til hvordan du laver et lille community, med forskelige

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

Introduktion til funktioner, moduler og scopes i Python

Simpel upload af filer

Database programmerings tips

Programmering I Java/C#

Uploade billeder eller andre filer ved hjælp af php og mysql

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Singleton pattern i C#

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

Anvendelse af Model- View koncept i SAS Stored Processer

Forskellige Java versioner

Sådan skriver du artikler til Eksperten!

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.

IT projekt person galleri

Excel som database i ASP via ADO

Loginsystem med PHP4, klasser, sessions og MySQL database

Hent filoplysninger fra billeder og filer

Procesbeskrivelse - Webprogrammering

Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato:

Session-highjack...et halvt skridt mod en modgift

jquery - selectors, attributes, traversing og manipulation

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.

PHP Pagination. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 01. May 2011 af dab93 I kategorien Programmering / Andre

Reeksamen, DSDS, forår 2008

SAX Simple API for XML.

Koden i denne guide vil kun virke i Flash MX 2003 og MX ikke ældre versioner!

Filen global.asa, en asp programmørs ven

HTML, PHP, SQL, webserver, hvad er hvad??

KIS Kvalitet I Skolerne

PHP Crash course. Databaser

Arrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP

Webserverprogrammering

Vejledning til Retsinformation web services test stubs

Tredjepart webservices

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

Dynamiske Billeder, Image Map & XY coordinater. ASP.NET og Access Databasen.

Bits, bit operationer, integers og floating point

Standardisering af PLC Programmering. SESAM Præsentation 2. November 2016

Hvad er Objekter - Programmering

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)

Parameterisering af databasekald med ASP og ADO

Transkript:

Denne guide er oprindeligt udgivet på Eksperten.dk XML i ASP Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Den forudsætter et vist kendskab til både XML og ASP. Skrevet den 14. Feb 2010 af arne_v I kategorien Programmering / ASP Historie: V1.0-29/12/2008 - original V1.1-14/02/2010 - smårettelser Indledning Microsoft har udgivet en ActiveX/COM komponent som implementerer W3C XML DOM. Med W3C XML DOM læses hele filen ind i et hierakisk træ, hvor elementer/attributter/text er children til et element. Vær opmærksom på at et DOM træ fylder mere i memory end XML filen. DOM er derfor ikke en god løsning til meget store XML filer (3 cifrede MB eller GB størrelser). Metoderne til at tilgå dette træ er standardiserede, så man kan genbruge sin viden fra andre sprog såsom Java,.NET, PHP etc.. For dokumentation se: http://msdn.microsoft.com/en-us/library/ms764730.aspx For hurtig intro til XML terminologi se: http://www.eksperten.dk/guide/627 "XML hvad, hvorfor og hvornår? Eksemplerne vil bruge følgende simple XML fil som input: test.xml <?xml version='1.0' standalone='yes'?> <medlemmer> <medlem no="1"> <navn>niels Nielsen</navn> <adresse>nellikevej 19</adresse> </medlem> <medlem no="2"> <navn>jens Jensen</navn> <adresse>jagtvej 17</adresse> </medlem> <medlem no="3"> <navn>ole Olsen</navn> <adresse>omfartsvejen 13</adresse>

</medlem> </medlemmer> Den genererede HTML i eksemplerne er ikke speciel advanceret, men formålet er at vise XML processing ikke HTML generering (og så er jeg iøvrigt ikke specielt HTML kyndig). Læse XML dokument Først et eksempel der viser hvordan man kan løbe igennem et XML dokument. showvbs.asp @ Language="VBScript" <html> <head> <title>show i VBS demo</title> </head> <body> <table border="1"> <tr> <th>no</th> <th>navn</th> <th>adresse</th> </tr> ' indlæs XML fil i DOM træ doc.async = False doc.load(server.mappath("test.xml")) ' find alle medlem elementer Set medlemmer = doc.getelementsbytagname("medlem") For Each medlem in medlemmer Response.Write "<tr>" & vbcrlf ' find og udskriv attribut no Response.Write "<td>" & medlem.attributes.getnameditem("no").value & "</td>" & vbcrlf ' find alle under elementer For Each elm in medlem.childnodes ' find under element navn If(elm.NodeName = "navn") Then navn = elm.firstchild.nodevalue ' find under element adresse If(elm.NodeName = "adresse") Then adresse = elm.firstchild.nodevalue Next ' udskriv de fundne under elementer Response.Write "<td>" & navn & "</td>" & vbcrlf Response.Write "<td>" & adresse & "</td>" & vbcrlf Response.Write "</tr>" & vbcrlf Next

Set medlemmer = Nothing </table> </body> </html> Søge i XML dokument med XPath Så et eksempel der viser, hvordan man kan søge i en XML fil med XPath. Jeg vil ikke gå i detaljer med hensyn til XPath syntax det kan man og det er der skrevet bøger om. Den ultra korte version er: xxxx - finder elementer med navn xxxx //xxxx/yyyy - finder elementer med navn yyyy under elementer med navn xxxx xxxx[yyyy='abc'] - finder elementer med navn xxxx som har et under element med navn yyyy og en tekstværdi 'abc' xxxx[@yyyy=123] - finder elementer med navn xxxx som har en attribut med navn yyyy og en talværdi 123 search.asp @ Language="VBScript" <html> <head> <title>search via XPath i VBS demo</title> </head> <body> If Request.Form("no") <> "" Then no = CInt(Request.Form("no")) ' indlæs XML fil i DOM træ doc.async = False doc.load(server.mappath("test.xml")) Set medlemmer = doc.selectnodes("//medlemmer/medlem[@no=" & no & "]") ' test om der var nogen matchende medlemmer If medlemmer.length > 0 Then ' tag det første matchende medlem Set medlem = medlemmer(0) ' udskriv attribut no Response.Write "no=" & medlem.attributes.getnameditem("no").nodevalue & "<br/>" & vbcrlf ' søg efter sub element navn og udskriv det Response.Write "navn=" & medlem.selectsinglenode("navn/text()").nodevalue & "<br/>" & vbcrlf ' søg efter sub element adresse og udskriv det Response.Write "adresse=" &

medlem.selectsinglenode("adresse/text()").nodevalue & "<br/>" & vbcrlf Set medlem = Nothing Else Response.Write "Ingen fundet<br/>" & vbcrlf End If Set medlemmer = Nothing End If <form method="post"> No: <input type="text" name="no"/> <br/> <input type="submit" value="søg"/> </form> </body> </html> Modificere XML dokument Eksempel på at rette i XML dokument (og returnere XML fremfor HTML). change.asp @ Language="VBScript" Response.ContentType = "text/xml" ' indlæs XML fil i DOM træ doc.async = False doc.load(server.mappath("test.xml")) ' søg efter medlem med no 2 Set medlem = doc.selectsinglenode("//medlemmer/medlem[@no=2]") ' fjern medlem medlem.parentnode.removechild(medlem) ' tilføj medlem Set navn = doc.createelement("navn") navn.appendchild(doc.createtextnode("lars Larsen")) Set adresse = doc.createelement("adresse") adresse.appendchild(doc.createtextnode("ledvej 14")) Set nytmedlem = doc.createelement("medlem") call nytmedlem.setattribute("no", "4") nytmedlem.appendchild(navn) nytmedlem.appendchild(adresse) doc.documentelement.appendchild(nytmedlem) ' udskriv DOM træ som XML doc.save(response) Set navn = Nothing

Set adresse = Nothing Set nytmedlem = Nothing Set medlem = Nothing Oprette XML dokument Eksempel på at oprette et nyt XML dokument (og returnere XML fremfor HTML). create.asp @ Language="VBScript" Response.ContentType = "text/xml" ' opret document element og 3 sub elementer Set one1 = doc.createelement("one") one1.appendchild(doc.createtextnode("a")) Set one2 = doc.createelement("one") one2.appendchild(doc.createtextnode("bb")) Set one3 = doc.createelement("one") one3.appendchild(doc.createtextnode("ccc")) Set root = doc.createelement("all") root.appendchild(one1) root.appendchild(one2) root.appendchild(one3) doc.appendchild(root) ' udskriv DOM træ som XML doc.save(response) Set one1 = Nothing Set one2 = Nothing Set one3 = Nothing Set root = Nothing DOM er ikke særligt velegnet til at create XML dokumenter med, så man kunne overveje et simplere alternativ. createalt.asp @ Language="VBScript" Response.ContentType = "text/xml" ' udskriv XML

Response.Write "<all>" Response.Write " <one>a</one>" Response.Write " <one>bb</one>" Response.Write " <one>ccc</one>" Response.Write "</all>" XSLT XSLT er en måde at transformere XML på. Det kan laves client side. Men det kan også laves server side. Laver man det server side, så kan man outputte HTML udfra XML uden at kode presentationen i ASP. Eksempel. xslt.asp <html> <head> <title>xsl i VBS demo</title> </head> <body> ' opret XML og indlæs Set xml = CreateObject("MSXML.DOMDocument") xml.async = False xml.load(server.mappath("test.xml")) ' opret XSL og indlæs Set xsl = CreateObject("MSXML.DOMDocument") xsl.async = False xsl.load(server.mappath("test.xsl")) ' udskriv XML transformeret til HTML Response.Write xml.transformnode(xsl) </body> </html> test.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method='html'/> <xsl:template match="/"> <table border="1">

<tr> <th>no</th> <th>navn</th> <th>adresse</th> </tr> <xsl:apply-templates/> </table> </xsl:template> <xsl:template match="medlemmer"> <xsl:apply-templates/> </xsl:template> <xsl:template match="medlem"> <tr> <td><xsl:value-of select="@no"/></td> <td><xsl:value-of select="navn"/></td> <td><xsl:value-of select="adresse"/></td> </tr> </xsl:template> </xsl:stylesheet> XSLT er en særdels kraftfuld teknologi. Men vær også opmærksom på, at det er et helt nyt sprog som man skal sætte sig ind i. Og det er et svært sprog - sværere end ASP & VBS! Kommentar af xcover d. 15. Jan 2009 1 Super artikel, men syntes jeg mangler lidt info omkring hvordan jeg henter et XML dokument på fx. dr.dk og udskriver via min egen ASP - så vidt jeg ved kan jeg ikke det med doc.load(server.mappath("test.xml")) Eller er jeg forkert på den?