Toon posts:

[vb.net+xml] Lezen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb met google gezocht en hier zelf maar ik heb niets gevonden, wat ik probeer te doen is door alle elementen en hun attributen met hun attribuutwaarden te gaan, schrijven kan ik, maar lezen gaat gewoon niet volledig, ik kan wel de elementen en de attribuutwaarden verkrijgen maar ik krijg niet de attribuut zelf

Dit is wat ik zelf heb gekregen
code:
1
2
3
4
5
6
7
8
9
10
11
12
 Dim text As String
 text = "F:\EenXMLFile.xml"
 Dim ReadXML As Xml.XmlTextReader = New Xml.XmlTextReader(text)
 Dim intCount As Integer, trNode As TreeNode
 Do While ReadXML.Read
  trNode = TreeView1.Nodes.Add(ReadXML.Name)
  If ReadXML.HasAttributes Then
   For intCount = 0 To ReadXML.AttributeCount - 1
    trNode.Nodes.Add(ReadXML.GetAttribute(intCount))
   Next
  End If
 Loop


als ik i.p.v. ReadXML.GetAttribute, ReadXML of ReadXML.Item pak dan pakt hij ook de attribuutwaarden

ik gebruik het .net Framework 1.1

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Volgens mij heeft de XmlTextReader geen method om de attribuut zelf te verkrijgen. Waarom wil je de attributen zelf?

Verwijderd

Topicstarter
Omdat ik dynamische attributen heb, en sommige attributen per keer wel of niet verschijnen, ik kan natuurlijk een maximum instellen en dan gewoon kijken als bij een bepaald attribuut de gegevens zijn ingevuld, maar dat is niet bepaald goed.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Je kan de Attributes ook bij naam (string) verkrijgen ipv een index (int).

Je kan natuurlijk ook je eigen parser schrijven afgeleid van de XmlReader.

  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 10-04 19:23

MrSleeves

You'll thank me later.

Zijn de namen van de attributen dynamisch?
Dus de ene keer <a></a> en de andere keer <b></b>?

De enige manier om dat op te lossen is een andere XML-file te maken (of een ander deel van het XML-bestand) om daar aan te geven hoe de attributen ingedeeld zijn en wat hun namen zijn...

Anders wordt het wel lastig..

Als het aantal veranderd, dan is het gewoon checken hoeveel het er zijn.. Maar dat zal wel niet het geval zijn.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Chief.NET schreef op maandag 20 december 2004 @ 08:41:
Zijn de namen van de attributen dynamisch?
Dus de ene keer <a></a> en de andere keer <b></b>?
Als het nodes zijn, dan kun je gewoon de naam opvragen met de Name property.

toevoeging:
Je zou ook een soort flags kunnen setten:
XML:
1
2
3
<node hasA='true' hasB='false'>
 <A>blaat</A>
</node>


Maar dan zou je net zo goed de Name property uitlezen. :z
Ik denk dat je het beste de Attributes kan opvragen als via de string index.

[ Voor 75% gewijzigd door pjvandesande op 20-12-2004 09:24 . Reden: Wat toegevoegd O-) ]


  • MrSleeves
  • Registratie: Februari 2004
  • Laatst online: 10-04 19:23

MrSleeves

You'll thank me later.

questa schreef op maandag 20 december 2004 @ 09:18:
[...]

Als het nodes zijn, dan kun je gewoon de naam opvragen met de Name property.

toevoeging:
Je zou ook een soort flags kunnen setten:
XML:
1
2
3
<node hasA='true' hasB='false'>
 <A>blaat</A>
</node>


Maar dan zou je net zo goed de Name property uitlezen. :z
Ik denk dat je het beste de Attributes kan opvragen als via de string index.
Weet ik veel.. :X Ik gebruik dat nooit (ik doe gewoon dataset-crap, lekker makkelijk :) ).
Ik begrijp het doel ook nog niet zo goed geloof ik; of ik zie het probleem niet.

30Drie Web Design & IT Consultancy | Raven Consultancy Services


Verwijderd

Topicstarter
Ik heb het zelf al gevonden

code:
1
2
3
4
5
6
7
        Dim oXMLDocument As New Xml.XmlDocument()
        oXMLDocument.LoadXml(InhoudVanBestand)
        Dim oXMLNode As Xml.XmlNode

        For Each oXMLNode In oXMLDocument.DocumentElement.Attributes
            Debug.WriteLine(oXMLNode.LocalName)
        Next
Pagina: 1