Avatar billede fniller Nybegynder
16. marts 2004 - 13:49 Der er 1 kommentar og
1 løsning

XML i visual basic 6

Jeg vil gerne vide om der er nogen der ved om det kan lade sig gøre at hente data fra en xml fil ind i et vb program og hvis ja hvordan man gør?

Jeg skal bruge xml filen som en slags informations lager til et program der skal kunne bruges til at stille brugerne spørgsmål! Grunden til at jeg bruger en xml fil er at det skal være muligt at skifte i spørgsmål og språg.
Avatar billede joern Nybegynder
16. marts 2004 - 17:53 #1
Hej.

Jeg har ikke prøvet det.  Men det må fordre at din XML-fil overholder den standard at der står nogle feltnavne og derefter felternes indhold.  Så kan du skrive nogle VB-kode der linie for linie gennemlæser dit XML dokument, undersøger hvad feltnavnet er og indsætter de tilhørende værdier.

En XML-fil er jo bare tekst så den kan åbnes og læses med 'Open file for input'.

Forinden læser du dine mulige feltnavne ind i et array: Dim felter(20) as string o.s.v.

Open dinsti & ditfilnavn.xml for input as #1
  Do while eof(1) = false
      Line input #1, linie
      For a = 0 to 20
        if instr(linie,felter(a))>0 then text(a).text = mid(linie, 30) 'hvor står det? 
      next a
  Loop
Close #1

Men ingen kan vel svare dig præcis, du må vise din XML-fil her.

VB.net kan formentlig håndtere XML.  Jeg bruger VB5.

M.v.h.  Jørn
Avatar billede venne Nybegynder
17. marts 2004 - 09:17 #2
Det er ikke særlig svært at komme i gang med.
Lav først en reference til "Microsoft XML, v4.0". Hvis du har en fil "test.xml" med dette indhold:

<?xml version="1.0" encoding="iso-8859-1"?>
<personer>
<person id="1" navn="Peter Hansen"/>
<person id="2" navn="Helle Petersen"/>
<person id="3" navn="Lars Østergaard"/>
</personer>

Så kan du læse personerne ind med denne kode:

  Dim xmlDoc As MSXML2.DOMDocument
  Dim xmlNode As MSXML2.IXMLDOMNode
  Dim id As String
  Dim navn As String
 
  Set xmlDoc = New MSXML2.DOMDocument
  xmlDoc.async = False
  xmlDoc.Load "test.xml"
  For Each xmlNode In xmlDoc.selectNodes("personer/person")
    id = xmlNode.Attributes.getNamedItem("id").Text
    navn = xmlNode.Attributes.getNamedItem("navn").Text
    Debug.Print id, navn
  Next

Microsoft har en tutorial for VB-programmører her: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/dom_hdi_vb_81gi.asp

Der er selvfølgelig _meget_mere_ i XML-programmering, men hvis du bare skal hente noget fra en fil er det ret nemt.
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