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.

Størrelse: px
Starte visningen fra side:

Download "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."

Transkript

1 Denne guide er oprindeligt udgivet på Eksperten.dk 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 et vist kendskab til både XML og PHP. Skrevet den 14. Feb 2010 af arne_v I kategorien Programmering / PHP Historie: V1.0-29/12/ original V1.1-14/02/ smårettelser Indledning Der er mange XML extensions i PHP. Jeg vil vise eksempler på brug af: DOM Simple XML XML reader XML writer XSL Eksemplerne forudsætter PHP 5 og brug af OOP. Der findes nogle XML extensions i PHP 4, men disse er ikke kompatible med de ovennævnte. Og da PHP 4 er forældet nu vil jeg ikke bruge tid på dem. For fuld dokumentation af PHP XML extensions se: For hurtig intro til XML terminologi se: "XML hvad, hvorfor og hvornår?" Gennemgangen af XML extensions vil i høj grad basere sig på simple eksempler der illusterer tankegangen bag en given extension og hvordan man kan komme igang. Til praktisk brug er flere funktioner formentligt nødvendige, men dem kan man slå op i dokumentationen (se link ovenfor). Eksemplerne nedenfor 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>

2 <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). DOM DOM extension bygger på den W3C standardiserede DOM model som også kendes fra JavaScript, ASP, Java,.NET etc.. Hele XML filen indlæses 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 i PHP. Først et eksempel som viser en XML fil som en HTML TABLE ved at løbe igennem træet på meget traditionel vis. showdom.php <title>dom demo</title> <table border="1"> <tr> <th>no</th> <th>navn</th> <th>adresse</th> </tr> $doc = new DOMDocument(); // indlæs XML fil i DOM træ $doc->load('test.xml'); // find alle medlem elementer $medlemmer = $doc->getelementsbytagname('medlem');

3 foreach($medlemmer as $medlem) { echo "<tr>\r\n"; // find og udskriv attribut no echo "<td>". $medlem->attributes->getnameditem('no')->nodevalue. "</td>\r\n"; // find alle under elementer foreach($medlem->childnodes as $elm) { // find under element navn if($elm->nodename == 'navn') $navn = $elm->nodevalue; // find under element adresse if($elm->nodename == 'adresse') $adresse = $elm->nodevalue; // udskriv de fundne under elementer echo "<td>$navn</td>\r\n"; echo "<td>$adresse</td>\r\n"; echo "</tr>\r\n"; </table> 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 searchdom.php <title>dom og XPath demo</title> if(isset($_post['no'])) { $no = $_POST['no']; $doc = new DOMDocument(); // indlæs XML fil i DOM træ $doc->load('test.xml'); // opret XPath objekt $xpath = new DOMXPath($doc);

4 // søg efter medlemmer med det angivne no $medlemmer = $xpath->query("//medlemmer/medlem[@no=$no]"); // test om der var nogen matchende medlemmer if($medlemmer->length > 0) { // tag det første matchende medlem $medlem = $medlemmer->item(0); // udskriv attribut no echo "no=". $medlem->attributes->getnameditem('no')->nodevalue. "<br/>\r\n"; // søg efter sub element navn og udskriv det echo "navn=". $xpath->query("navn/text()", $medlem)->item(0)->nodevalue. "<br/>\r\n"; // søg efter sub element adresse og udskriv det echo "adresse=". $xpath->query("adresse/text()", $medlem)->item(0)->nodevalue. "<br/>\r\n"; else { echo "Ingen fundet<br/>\r\n"; <form method="post"> No: <input type="text" name="no"/> <br/> <input type="submit" value="søg"/> </form> Eksempel på at rette i XML dokument (og returnere XML fremfor HTML). changedom.php header("content-type: text/xml"); $doc = new DOMDocument(); // indlæs XML fil i DOM træ $doc->load('test.xml'); // opret XPath objekt $xpath = new DOMXPath($doc); // søg efter medlem med no 2 $medlemmer = $xpath->query("//medlemmer/medlem[@no=2]"); $medlem = $medlemmer->item(0); // fjern medlem $medlem->parentnode->removechild($medlem); // tilføj medlem $navn = $doc->createelement('navn'); $navn->appendchild($doc->createtextnode('lars Larsen')); $adresse = $doc->createelement('adresse'); $adresse->appendchild($doc->createtextnode('ledvej 14')); $nytmedlem = $doc->createelement('medlem');

5 $nytmedlem->setattribute('no', '4'); $nytmedlem->appendchild($navn); $nytmedlem->appendchild($adresse); $doc->documentelement->appendchild($nytmedlem); // udskriv DOM træ som XML echo $doc->savexml(); Eksempel på at oprette et nyt XML dokument (og returnere XML fremfor HTML). createdom.php header("content-type: text/xml"); $doc = new DOMDocument(); // opret document element og 3 sub elementer $one1 = $doc->createelement('one'); $one1->appendchild($doc->createtextnode('a')); $one2 = $doc->createelement('one'); $one2->appendchild($doc->createtextnode('bb')); $one3 = $doc->createelement('one'); $one3->appendchild($doc->createtextnode('ccc')); $root = $doc->createelement('all'); $root->appendchild($one1); $root->appendchild($one2); $root->appendchild($one3); $doc->appendchild($root); // udskriv DOM træ som XML echo $doc->savexml(); DOM er yderst fleksibelt, men har en lidt halvtung syntax. Simple XML Simple XML har også hele XML filen i memory, men man tilgår elementer og attributter som PHP objekter. Eksempel som viser en XML fil som en HTML TABLE. showsimple.php <title>simple XML demo</title>

6 <table border="1"> <tr> <th>no</th> <th>navn</th> <th>adresse</th> </tr> // opret simple struktur og indlæs XML fil $xml = new SimpleXMLElement(file_get_contents('test.xml')); // find alle medlem elementer foreach($xml->medlem as $medlem) { echo "<tr>\r\n"; // find og udskriv attribut no echo "<td>". $medlem['no']. "</td>\r\n"; // find og udskriv sub element navn echo "<td>". $medlem->navn. "</td>\r\n"; // find og udskriv sub element adresse echo "<td>". $medlem->adresse. "</td>\r\n"; echo "</tr>\r\n"; </table> Eksempel der viser, hvordan man kan søge i en XML fil med XPath. searchsimple.php <title>simple XML og XPath demo</title> if(isset($_post['no'])) { $no = $_POST['no']; // opret simple struktur og indlæs XML fil $xml = new SimpleXMLElement(file_get_contents('test.xml')); // søg efter medlemmer med det angivne no $medlemmer = $xml->xpath("//medlemmer/medlem[@no=$no]"); // test om der var nogen matchende medlemmer if(count($medlemmer) > 0) { // tag det første matchende medlem $medlem = $medlemmer[0]; // udskriv attribut no echo "no=". $medlem['no']. "<br/>\r\n"; // udskriv sub element navn echo "navn=". $medlem->navn. "<br/>\r\n"; // udskriv sub element adresse echo "adresse=". $medlem->adresse. "<br/>\r\n";

7 else { echo "Ingen fundet<br/>\r\n"; <form method="post"> No: <input type="text" name="no"/> <br/> <input type="submit" value="søg"/> </form> Som man kan se er simple XML syntaxen noget nemmere end DOM syntaxen. Bemærk dog at simple XML ikke er så godt til at ændre/oprette XML dokumenter med. Og brug af simple XML til XML med namespaces er også kendt for at give store problemer. XML reader XML reader er en event driven pull parser, som kan processe en XML fil uden at læse det hele ind i memory og er derfor velgnet til at processe meget store XML filer med. Eksempel som viser en XML fil som en HTML TABLE. showreader.php <title>xml reader demo</title> <table border="1"> <tr> <th>no</th> <th>navn</th> <th>adresse</th> </tr> // opret reader og åben XML fil $rdr = new XMLReader(); $rdr->xml(file_get_contents('test.xml')); // læs hele filen while($rdr->read()){ // test på node type switch ($rdr->nodetype) { case XMLReader::TEXT: // gem text til senere

8 $s = $rdr->value; break; case XMLReader::ELEMENT: if($rdr->localname == 'medlem') { // hvis start på medlem element så hent attribut no $no = $rdr->getattribute('no'); break; case XMLReader::END_ELEMENT: if($rdr->localname == 'navn') { // hvis start på navn element så hent gemt text $navn = $s; else if($rdr->localname == 'adresse') { // hvis start på adresse element så hent gemt text $adresse = $s; else if($rdr->localname == 'medlem') { // hvis slut på medlem element så udskrive alt echo "<tr>\r\n"; // udskriv attribut no echo "<td>". $no. "</td>\r\n"; // udskriv sub element navn echo "<td>". $navn. "</td>\r\n"; // udskriv sub element adresse echo "<td>". $adresse. "</td>\r\n"; echo "</tr>\r\n"; break; </table> XML writer XML writer muliggør at man skriver et XML dokument uden at have hele dokumentet i memory og er derfor velgnet til at generere meget store XML filer med. Eksempel på at oprette et nyt XML dokument (og returnere XML fremfor HTML). createwriter.php header("content-type: text/xml"); // opret writer $wrt = new XMLWriter(); // skriv direkte til output $wrt->openuri('php://output'); // skriv XML $wrt->startdocument();

9 $wrt->startelement('all'); $wrt->startelement('one'); $wrt->text('a'); $wrt->endelement(); $wrt->startelement('one'); $wrt->text('bb'); $wrt->endelement(); $wrt->startelement('one'); $wrt->text('ccc'); $wrt->endelement(); $wrt->endelement(); $wrt->enddocument(); XSL 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 PHP. Eksempel. showxsl.php <title>xsl demo</title> $xml = new DOMDocument(); // indlæs XML fil i DOM træ $xml->load('test.xml'); $xsl = new DOMDocument(); // indlæs XSL fil i DOM træ $xsl->load("test.xsl"); // opret XSLT processor og bed den bruge XSL $t = new XSLTProcessor(); $t->importstylesheet($xsl); // udskriv XML transformeret til HTML echo $t->transformtoxml($xml); </table>

10 test.xsl <?xml version="1.0" <xsl:stylesheet xmlns:xsl=" 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 <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 PHP! Anbefaling Efter at have set 5 forskellige XML extensions i brug, så er det jo naturligt at spørge om, hvilken man skal vælge. Min anbefaling er: modificere eksisternde XML => DOM oprette nyt XML => XML writer konvertere XML til andet XML format => XSLT læse XML med namespaces => DOM læse store XML filer => XML reader læse XML generelt => simple XML Altså simple XML i de fleste tilfælde!

11 Kommentar af jensgram d. 29. Dec Jaja, ok :) Fint som referenceværktøj og til det indledende overblik (og mere gør artiklen vel egentlig heller ikke krav på at være). Kommentar af jakobdo d. 07. Jan God artikel Arne_v, vil bestemt blive brugt som opslag i fremtiden, da jeg "godt" kan anvende XML, men støder dog tit ind i problemet: Hvordan er det nu man gør??? :o) Kommentar af kodak d. 19. Jan Jeg kan ikke få den til at skrive ÆØÅ æøå

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

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

Læs mere

Eksempel på transformation: XML -> RTF dokument:

Eksempel på transformation: XML -> RTF dokument: Eksempel på transformation: XML -> RTF dokument: RTF dokumenter er Rich Text dokumenter der kan formateres med farver og forskellige skrifttyper. I nogle tilfælde kan det være interessant at transformere

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

DOM Document Object Model:

DOM Document Object Model: DOM Document Object Model:...1 Typer af noder i træet:...3 Reading:...4 document:...6 element:...7 attributter:...12 parser fejl:...13 XPATH:...13 Stier i XPATH:...13 Prædikater:...14 Operatorer:...15

Læs mere

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

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Gæstebog med validering opbygget med MySQL

Gæstebog med validering opbygget med MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Gæstebog med validering opbygget med MySQL Dette er en simpel gæstebog, som kan hjælpe folk med at lave en velfungerende gæstebog uden alt for meget arbejde.

Læs mere

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

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

Læs mere

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

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Database design for begyndere

Database design for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter

Læs mere

Tagwall med Php & MySQL

Tagwall med Php & MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Tagwall med Php & MySQL Her laver vi en tagwall i Php & MySQL... jeg forklarer dog ikke så meget, men jeg håber du kan få det til at blive til en tagwall

Læs mere

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

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... Modul 2 Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... 6 Opgave... 6 POST/GET og formular... 6 Opgaver...

Læs mere

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

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

The Design Diaries Project 3 2. Semester. Blog om designprincipper

The Design Diaries Project 3 2. Semester. Blog om designprincipper The Design Diaries Project 3 2. Semester Blog om designprincipper By Lif Neergaard www.lifmediadesign.dk [email protected] Mathias Larsen www.nefjam.dk [email protected] Ida Christensen www.idamedia.dk

Læs mere

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

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

PHP guide af Daniel Pedersen

PHP guide af Daniel Pedersen PHP guide af Daniel Pedersen Side 1 af 12 Indholdsfortegnelse PHP guide af Daniel Pedersen Side 2 af 12 Indledning I dette hæfte finder du forklaringer til PHP funktioner, løkker, variabler samt en række

Læs mere

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version="1.0" encoding="iso-8859-1"?>

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version=1.0 encoding=iso-8859-1?> Namespaces...1 Default namespace:...6 Præfiks:...7 To slags navne i XML:...11 Standard namespaces:...14 RDF Resource Description Framework:...18 Attributter:...19 DTD skemaer og namespaces:...21 Namespaces.

Læs mere

Bits, bit operationer, integers og floating point

Bits, bit operationer, integers og floating point Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

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

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF. Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF. Vejledningen her beskriver hvordan man opbygger en form i HTML og sender indholdet af felterne til JitBesked. Det kræver du

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Introduktion til SQL queries

Introduktion til SQL queries Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Forskellige Java versioner

Forskellige Java versioner Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige Java versioner Denne artikel beskriver lidt om de forskellige Java versioner. Den forklarer J2SE/J2ME/J2EE, plugin/jre/sdk og Sun Java/Microsoft

Læs mere

Flerbruger miljø, opdel database

Flerbruger miljø, opdel database Denne guide er oprindeligt udgivet på Eksperten.dk Flerbruger miljø, opdel database Denne artikel henvender sig primært til begyndere og let øvede brugere af Access der ønsker at vide noget om flerbruger

Læs mere

Password hashing og salt

Password hashing og salt Denne guide er oprindeligt udgivet på Eksperten.dk Password hashing og salt Denne artikel beskriver hvorfor hashing og salt er godt, når man skal gemme passwords. Den forudsætter et vist kendskab til programmering

Læs mere

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

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument

Læs mere

Regulære udtryk, 2. del

Regulære udtryk, 2. del Denne guide er oprindeligt udgivet på Eksperten.dk Regulære udtryk, 2. del Artiklen uddyber mange af de begreber, som blev introduceret i den 1. artikel. Den burde dog kunne læses alene, hvis man allerede

Læs mere

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

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 Denne guide er oprindeligt udgivet på Eksperten.dk 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 Den forudsætter

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

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

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

OBJECT IDENTIFICERES OID PHMR

OBJECT IDENTIFICERES OID PHMR OBJECT IDENTIFICERES OID PHMR MedCom. Odense d. 27. feb. 2014 Thor Schliemann OID OG INTEROPERABILITET OID er et omdrejningspunktet for interoperabilitet I både teknisk og semantisk interoperabilitet er

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

IT projekt person galleri

IT projekt person galleri Denne guide er oprindeligt udgivet på Eksperten.dk IT projekt person galleri Denne artikel forsøger at forklare lidt om hvilke funktioner der ligger bag ved de forskellige titler som deltagerne i et IT

Læs mere

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

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Øvelse 6. Modeller 81 6.1 Oprettelse af og arbejde med modeller 82 6.2 Videre øvelser 87 6.3 Øvelser i eget projekt 87

Øvelse 6. Modeller 81 6.1 Oprettelse af og arbejde med modeller 82 6.2 Videre øvelser 87 6.3 Øvelser i eget projekt 87 Indhold Indledning 7 Øvelse 1. Introduktion til NVivo 11 1.1 NVivos skærmbillede og funktioner 12 1.2 Sources 13 1.3 Nodes 15 1.4 Classifications 17 1.5 Queries 18 1.6 Models 19 1.7 Videre øvelser 19 Øvelse

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML....1 Funktioner:...2 Skrive XML dokumenter med SAX writer:...4 SAX metoder i Visual Basic:...5 error handler:...6 En content handler:...7 At validere et XML dokument med SAX:...13

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk Denne guide er oprindeligt udgivet på Eksperten.dk Database tips Denne artikel vil give nogle forskellige små praktiske råd om ting man skal tænke på når man arbejder med databaser og applikationer som

Læs mere

I denne manual kan du finde en hurtig introduktion til hvordan du:

I denne manual kan du finde en hurtig introduktion til hvordan du: VORES NORDSJÆLLAND HURTIGT I GANG MANUAL 01: Bruger HVAD INDEHOLDER DENNE MANUAL? I denne manual kan du finde en hurtig introduktion til hvordan du: 1. Finder Vores Nordsjælland hjemmesiden 2. Opretter

Læs mere