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

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

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.

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

Introduction til.net remoting i VB.NET

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.

Singleton pattern i C#

I denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.

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

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

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

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

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

Nye Java XML API'er

Mere XML i Java. Denne artikel beskriver brug af XML i Java udover parsning (som er beskrevet i artiklen "XML parsning 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

Introduction til.net remoting i C#

SAX Simple API for XML.

Geografisk lokalisering i ASP.NET

Undtagelseshåndtering i C#

Introduktion til SQL queries

Singleton pattern i Java

Database design for begyndere

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.

Forskellige Java versioner

Anvendelse af metoder - Programmering

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

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

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

Bits, bit operationer, integers og floating point

Introduktion til NAnt

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

Eksempel på transformation: XML -> RTF dokument:

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

Arkitektur for begyndere

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

Hvad er Objekter - Programmering

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

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

Kontrol-strukturer i PHP

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

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

Visual Basic for begyndere

Indhold. Senest opdateret:03. september Side 1 af 8

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

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

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

Hvilket sprog skal jeg lære?

Endnu mere om tilfældige tal

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

Ekstra hastighed med array's i Excel-VBA

Introduktion til funktioner, moduler og scopes i Python

Database programmerings tips

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni jun 2011 MapBasic &.

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

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

Java Klasse nedarvninger

SAX Simple API for XML.

Afsending af s vha. ASP

Indhold. Senest opdateret : 30. juli Side 1 af 5

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

Hvilket sprog skal jeg lære?

Sådan skriver du artikler til Eksperten!

SQL for MySQL-begyndere

jquery - selectors, attributes, traversing og manipulation

Delphi - CrackMe og Keygen

Introduktion til ant. Denne artikel beskriver Apache ant, som er et værktøj til at builde Java applikationer med.

Ratingsystem i PHP og MySQL

.NET 3.5 og C# 3.0. Denne artikel viser hvordan man kan bruge nogle af de nye features i.net 3.5 og C# 3.0. Det er ikke en komplet oversigt.

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

SESSION med PHP. En let begynderguide som kan føre dig ind i en verden af muligheder. Denne guide er oprindeligt udgivet på Eksperten.

Tredjepart webservices

Delphi og Databaser for begyndere

Java web applikationer med Tomcat

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.

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

Send fra Access.

Dokumentering af umbraco artikeleksport:

Upload af billeder/filer for nybegyndere Del. 2

SVG Scalable Vector Graphics.

Brugerdefineret menuer i Access

Database for udviklere. Jan Lund Madsen PBS10107

Offset til terminalskærm i Java

Loginsystem (med MySQL)

IT projekt person galleri

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.

Udvikling af DOTNET applikationer til MicroStation i C#

Opret en Powerpoint præsentation automatisk med VBA

Hvilket sprog er hurtigst

Hvorfor skal vi bruge objekt orienteret databaser?

Dynamisk PHP design OPDATERET

SWC eksamens-spørgsmål. Oversigt

Introduktion til AOP i C#

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

Flerbruger miljø, opdel database

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

Simpel upload af filer

Webserverprogrammering

Tagwall med Php & MySQL

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

Transkript:

Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET. Der er en anden artikel med præcis samme indhold bare i C#! Skrevet den 15. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET Historie: V1.0-05/11/2004 - original V1.1-25/12/2008 - lidt småjusteringer og link til efterfølgeren V1.2-14/02/2010 - smårettelser Indledning.NET har en glimrende support for XML i namespace System.Xml og under namespaces. Denne artikel vil vise nogle af mulighederne indenfor basal XML brug. Jeg vil ikke forklare baggrund bag XML, XPath og XSLT. Det må man finde et andet sted. Artiklen http://www.eksperten.dk/artikler/627 "XML hvad, hvorfor og hvornår?" giver en oversigt over nogle af begreberne. Eksemplerne vil være console applikationer, men selve XML klasserne og metoderne kan lige så godt bruges i GUI applikationer eller web applikationer. De fleste af kode eksemplerne vil bruge denne simple XML fil. test.xml <?xml version='1.0' standalone='yes'?> <biler> <navn>volvo</navn> <land>sverige</land> <navn>opel</navn> <land>tyskland</land> <navn>toyota</navn>

<land>japan</land> <navn>fiat</navn> <land>italien</land> </biler> Læse XML fra fil Det er meget nemt at læse et XML dokument ind fra en fil. Man laver et nyt tomt XmlDocument og bruger Load metoden. Dim doc As XmlDocument = New XmlDocument doc.load("c:\test.xml") Løbe gennem XML Man kan finde alle tags med et bestemt navn med GetElementsByTagName metoden som returnerer en collection af noder. Dim fabrikater As XmlNodeList = doc.getelementsbytagname("fabrikat") For Each fabrikat As XmlNode In fabrikater Dim navn As String = fabrikat.childnodes(0).firstchild.value Dim land As String = fabrikat.childnodes(1).firstchild.value Console.WriteLine(navn & " " & land) Next Manipulere XML Man kan også udvælge noder med SelectNode metoden og et XPath udtryk. XPath udtryk udvælger noder ved at angive stien til dem i en speciel syntax: 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 Dim volvo As XmlNodeList = doc.documentelement.selectnodes("fabrikat[navn='volvo']")

volvo(0).childnodes(1).firstchild.value = "USA" Dim opel As XmlNodeList = doc.documentelement.selectnodes("fabrikat[navn='opel']") opel(0).childnodes(1).firstchild.value = "USA" Man kan tilføje noder til træet. Dim hyundainavn As XmlNode = doc.createelement("navn") hyundainavn.appendchild(doc.createtextnode("hyundai")) Dim hyundailand As XmlNode = doc.createelement("land") hyundailand.appendchild(doc.createtextnode("syd Korea")) Dim hyundai As XmlNode = doc.createelement("fabrikat") hyundai.appendchild(hyundainavn) hyundai.appendchild(hyundailand) doc.documentelement.appendchild(hyundai) Man kan også fjerne noder fra træet med element.removechild(node)! Skrive XML til fil Det er meget nemt at skrive et XML dokument til en fil. Man kalder bare Save metoden. doc.save("c:\test1.xml") Opsamling Vi kombinerer nu alle kode fragmenterne ovenfor til et helt program. Imports System Imports System.Xml Class MainClass Public Shared Sub Main(ByVal args As String()) ' Læse XML fra fil Dim doc As XmlDocument = New XmlDocument doc.load("c:\test.xml") ' Løbe gennem XML Dim fabrikater As XmlNodeList = doc.getelementsbytagname("fabrikat") For Each fabrikat As XmlNode In fabrikater Dim navn As String = fabrikat.childnodes(0).firstchild.value Dim land As String = fabrikat.childnodes(1).firstchild.value

Console.WriteLine(navn & " " & land) Next ' Manipulere XML ' 1. sæt Volvo og Opel til USA Dim volvo As XmlNodeList = doc.documentelement.selectnodes("fabrikat[navn='volvo']") volvo(0).childnodes(1).firstchild.value = "USA" Dim opel As XmlNodeList = doc.documentelement.selectnodes("fabrikat[navn='opel']") opel(0).childnodes(1).firstchild.value = "USA" ' 2. tilføj Hyundai Dim hyundainavn As XmlNode = doc.createelement("navn") hyundainavn.appendchild(doc.createtextnode("hyundai")) Dim hyundailand As XmlNode = doc.createelement("land") hyundailand.appendchild(doc.createtextnode("syd Korea")) Dim hyundai As XmlNode = doc.createelement("fabrikat") hyundai.appendchild(hyundainavn) hyundai.appendchild(hyundailand) doc.documentelement.appendchild(hyundai) ' Skrive XML til fil doc.save("c:\test1.xml") End Sub End Class test1.xml kommer til at se ud som: <?xml version="1.0" standalone="yes"?> <biler> <navn>volvo</navn> <land>usa</land> <navn>opel</navn> <land>usa</land> <navn>toyota</navn> <land>japan</land> <navn>fiat</navn> <land>italien</land> <navn>hyundai</navn> <land>syd Korea</land> </biler>

Skrive XML til fil på en anden måde Man kan naturligvis lave et helt nyt XML dokument på samme måde som der ovenfor tilføjes elementer. Imports System Imports System.Xml Class MainClass Public Shared Sub Main(ByVal args As String()) Dim doc As XmlDocument = New XmlDocument Dim root As XmlNode = doc.createelement("all") doc.appendchild(root) Dim i As Integer For i = 1 To 5 Dim elm As XmlNode = doc.createelement("one") elm.appendchild(doc.createtextnode("element #" & i)) root.appendchild(elm) Next doc.insertbefore(doc.createxmldeclaration("1.0", "UTF-8", "yes"), doc.documentelement) doc.save("c:\test2.xml") End Sub End Class test2.xml kommer til at se ud som: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <all> <one>element #1</one> <one>element #2</one> <one>element #3</one> <one>element #4</one> <one>element #5</one> </all> Men der findes en alternativ måde som nogen gange er mere hensigtsmæssig. Imports System Imports System.IO Imports System.Text Imports System.Xml Class MainClass Public Shared Sub Main(ByVal args As String())

Dim xtw As XmlTextWriter = New XmlTextWriter("C:\test3.xml", Encoding.UTF8) xtw.formatting = Formatting.Indented xtw.writestartdocument xtw.writestartelement("all") Dim i As Integer For i = 1 To 5 xtw.writestartelement("one") xtw.writestring("element #" & i) xtw.writeendelement Next xtw.writeendelement xtw.writeenddocument xtw.close End Sub End Class test3.xml kommer til at se ud som: <?xml version="1.0" encoding="utf-8"?> <all> <one>element #1</one> <one>element #2</one> <one>element #3</one> <one>element #4</one> <one>element #5</one> </all> Bruge XSLT Hvis man gerne vil manipulere sit XML dokument er det også en mulighed at bruge XSLT. Imports System Imports System.IO Imports System.Xml Imports System.Xml.Xsl Class MainClass Public Shared Sub Main(ByVal args As String()) Dim doc As XmlDocument = New XmlDocument doc.load("c:\test.xml") Dim xslt As XslTransform = New XslTransform xslt.load("c:\test.xsl") Dim wrt As XmlTextWriter = New XmlTextWriter(New StreamWriter("C:\test4.xml")) wrt.formatting = Formatting.Indented xslt.transform(doc, Nothing, wrt, Nothing)

End Sub End Class test.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:template match="biler"> <biler> <xsl:apply-templates/> </biler> </xsl:template> <xsl:template match="fabrikat"> <xsl:attribute name="land"><xsl:value-of select="land"/></xsl:attribute> <xsl:value-of select="navn"/> </xsl:template> </xsl:stylesheet> test4.xml kommer til at se ud som: <biler> <fabrikat land="sverige">volvo <fabrikat land="tyskland">opel <fabrikat land="japan">toyota <fabrikat land="italien">fiat </biler> Nyt i.net 2.0 og 3.5 http://www.eksperten.dk/artikler/1260 beskriver: - hurtige readonly XPathDocument - XsltTransform -> XsltCompiledTransform i.net 2.0 - LINQ for XML i.net 3.5 Kommentar af martinm d. 11. Nov 2004 1 Kommentar af adhn d. 24. Oct 2008 2

Kommentar af basementjack d. 04. Dec 2004 3 God for nybegyndere.. :) Kommentar af simonth d. 05. Jul 2007 4 Kommentar af groyk d. 05. Dec 2008 5 God artikkel, meget brugbar. Men hvordan skriver jeg et tag således? <tag id="xx"> Andet indhold </tag> Kommentar af jesperwerge d. 17. Nov 2006 6 Alletiders artikel, tak - Håber på en opfølger med redigering af elementer i en XML fil. Kommentar af baxos d. 27. Nov 2006 7 Fed Artikel! Kommentar af jaffafo d. 16. Oct 2005 8 Udmærket artikel Kommentar af nicklasw d. 05. May 2006 9 rigtig god artikel for nybegyndere Kommentar af horsdal d. 09. Nov 2004 10 var lige noget jeg kunne bruge... tak :)