Ik ben een echte newbie op XML-gebied.
Ik heb een treeview die ik maak door een xml-bestand in te lezen.
Ik wil het gebruiken om een userpreferences file te beheren.
Nu kan ik alle instellingen wijzigingen in de treeview, maar die wil ik dan ook opslaan in een XML-bestand.
Ik heb al wat code geprobeerd die ik gevonden heb. Maar dan krijg ik wel iets dat op een XML-bestand lijkt maar alleen parent en geen childeren.
Ik heb al de documentatie bij Microsoft door geworsteld maar dat gaat eigenlijk alleen maar over veel complexere zaken.
De code die ik gebruik heb ik ergens op dit forum gevonden.
Dit is mijn XML die ik inlees en weer wil opslaan:
Dit is de code die ik gebruik om mijn treeview op te slaan:
Dit is dan wat voor XML er uit komt:
Wat mij opvalt is dat de TAGs maar 1 keer voorkomen en dat alle children parents zijn geworden.
Ik denk dat de fout zit in
maar ik kom er niet uit.
Kan iemand me even op weg helpen met deze elementaire doch simpele fout
groeten
Paul
edit:
Gestoeid met de BBcode
Ik heb een treeview die ik maak door een xml-bestand in te lezen.
Ik wil het gebruiken om een userpreferences file te beheren.
Nu kan ik alle instellingen wijzigingen in de treeview, maar die wil ik dan ook opslaan in een XML-bestand.
Ik heb al wat code geprobeerd die ik gevonden heb. Maar dan krijg ik wel iets dat op een XML-bestand lijkt maar alleen parent en geen childeren.
Ik heb al de documentatie bij Microsoft door geworsteld maar dat gaat eigenlijk alleen maar over veel complexere zaken.
De code die ik gebruik heb ik ergens op dit forum gevonden.
Dit is mijn XML die ik inlees en weer wil opslaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?xml version="1.0" ?> - <Algemeen> - <SettingsA> <Naam>Hier komt een naam</Naam> <Kleur>Hier komt een kleurcode</Kleur> </SettingsA> - <SettingsB> - <SettingsBA> <Naam2>tekst</Naam2> <Kleur2>Kleurcode</Kleur2> </SettingsBA> </SettingsB> </Algemeen> |
Dit is de code die ik gebruik om mijn treeview op te slaan:
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
| Private Function pSaveXML(tv As TreeView, gXLMFile As String) As Boolean
Dim xmlDoc As New DOMDocument30
Dim oEle As IXMLDOMElement
Dim oRoot As IXMLDOMElement
Dim oNode As IXMLDOMNode
Dim oText As IXMLDOMText
Dim TNode As Node
Set xmlDoc = New DOMDocument
xmlDoc.resolveExternals = True
' Create processing instruction and document root
Set oNode = xmlDoc.createProcessingInstruction("xml", "version='1.0'")
Set oNode = xmlDoc.insertBefore(oNode, oDoc.childNodes.Item(0))
' Create document root
Set oRoot = xmlDoc.createElement("Voorkeuren")
Set xmlDoc.documentElement = oRoot
oRoot.setAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"
' Add nodes:
Dim i As Integer
For i = 1 To tv.Nodes.Count
Set TNode = tv.Nodes(i)
If TNode.children = 0 Then
Set oText = xmlDoc.createTextNode(TNode.Text)
oRoot.appendChild oText
Else
Set oNode = xmlDoc.createElement(TNode.Text)
oRoot.appendChild oNode
End If
Next i
'Save xml file
xmlDoc.save App.Path & "\test.xml" 'gXLMFile
End Function |
Dit is dan wat voor XML er uit komt:
code:
1
2
3
4
5
6
7
8
9
10
11
| <?xml version="1.0"?> <Voorkeuren xmlns:dt="urn:schemas-microsoft-com:datatypes"> <Algemeen/> <SettingsA/> <Naam/>aangepaste naam <Kleur/>Hier komt een kleurcode <SettingsB/> <SettingsBA/> <Naam2/>tekst <Kleur2/>Kleurcode </Voorkeuren> |
Wat mij opvalt is dat de TAGs maar 1 keer voorkomen en dat alle children parents zijn geworden.
Ik denk dat de fout zit in
code:
1
| oRoot.appendChild oNode |
maar ik kom er niet uit.
Kan iemand me even op weg helpen met deze elementaire doch simpele fout
groeten
Paul
edit:
Gestoeid met de BBcode
[ Voor 10% gewijzigd door Verwijderd op 10-03-2004 15:13 ]