Ik wil graag alle meldingen die mijn programma kan laten zien in een XML file stoppen, zodat ik deze makkelijk in een andere taal kan maken.
Het probleem is alsvolgt ik heb een melding nummer 12 bijv. nu moet ik eigenlijk de tekst die daarbij hoort laten zien op het scherm, ik kan natuurlijk de xml file openen en een loop doen door het hele bestand totdat ik nummer 12 heb gevonden, en daar de tekst van laten zien. Zo heb ik het nu gemaakt. Maar ik weet niet of dit de officiele manier is.
Hier heb ik een stukje voorbeeld code wat ik nu in gebruik heb. Ik heb er dan een IF constructie ingebouwd die kijkt of de waarde voorkomt
Ik kan me voor stellen, dat je net zoals met een gewone database een select kunt doen op een record. Dat lijkt mij in ieder geval sneller. Maar hoe zou ik dit moeten doen.
Het probleem is alsvolgt ik heb een melding nummer 12 bijv. nu moet ik eigenlijk de tekst die daarbij hoort laten zien op het scherm, ik kan natuurlijk de xml file openen en een loop doen door het hele bestand totdat ik nummer 12 heb gevonden, en daar de tekst van laten zien. Zo heb ik het nu gemaakt. Maar ik weet niet of dit de officiele manier is.
Hier heb ik een stukje voorbeeld code wat ik nu in gebruik heb. Ik heb er dan een IF constructie ingebouwd die kijkt of de waarde voorkomt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| Imports System.IO
Imports System.Xml
Module ParsingUsingXmlTextReader
Sub Main()
Dim m_xmlr As XmlTextReader
'Create the XML Reader
m_xmlr = New XmlTextReader("C:\Personal\family.xml")
'Disable whitespace so that you don't have to read over whitespaces
m_xmlr.WhiteSpaceHandling = WhiteSpaceHandling.NONE
'read the xml declaration and advance to family tag
m_xmlr.Read()
'read the family tag
m_xmlr.Read()
'Load the Loop
While Not m_xmlr.EOF
'Go to the name tag
m_xmlr.Read()
'if not start element exit while loop
If Not m_xmlr.IsStartElement() Then
Exit While
End If
'Get the Gender Attribute Value
Dim genderAttribute = m_xmlr.GetAttribute("gender")
'Read elements firstname and lastname
m_xmlr.Read()
'Get the firstName Element Value
Dim firstNameValue = m_xmlr.ReadElementString("firstname")
'Get the lastName Element Value
Dim lastNameValue = m_xmlr.ReadElementString("lastname")
'Write Result to the Console
Console.WriteLine("Gender: " & genderAttribute _
& " FirstName: " & firstNameValue & " LastName: " _
& lastNameValue)
Console.Write(vbCrLf)
End While
'close the reader
m_xmlr.Close()
End Sub
End Module |
Ik kan me voor stellen, dat je net zoals met een gewone database een select kunt doen op een record. Dat lijkt mij in ieder geval sneller. Maar hoe zou ik dit moeten doen.
[ Voor 35% gewijzigd door voodoo202 op 27-07-2004 19:35 . Reden: verkeerde code gepost ]