Formatiranje vrednosti v xml datoteki

Pomoč pri izdelavi makrov
Odgovori
gorenjc
Prispevkov: 2
Pridružen: Če Dec 15, 2005 3:51 pm

Formatiranje vrednosti v xml datoteki

Odgovor Napisal/-a gorenjc »

Zdravo!
Ne vem sicer, če je tole vprašanje primerno za ta forum.
V excelu pripravim xml datoteko s pomočjo msxml 3.0 knjižnjice.
Zanima me, na kakšen način bi bilo možno vse node od root-a navzdol vključno z atributi formatirati glede na na vrednost in sicer:datumske v angleškem formatu, pri decimalnih vrednostih pa mora biti decimalno ločilo pika.

Že vnaprej hvala za odgovor!

lp
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Spodaj vam prilagam kodo, ki se sprehodi skozi celoten XML dokument in vsebino Matjaž zamenja z vsebino Aleš, hkrati pa vam izpisuje tudi vsak element dokumenta v Debug okno.

Koda: Izberi vse

Sub ObdelajElement(node As IXMLDOMNode)
  If (node Is Nothing) Then Exit Sub

  Debug.Print node.nodeName & " = " & node.Text
  
  If (node.Text = "matjaž") Then node.Text = "aleš"

  Dim tmpNode As IXMLDOMNode
  Set tmpNode = node.FirstChild
  While Not (tmpNode Is Nothing)
    ObdelajElement tmpNode
    Set tmpNode = tmpNode.nextSibling
  Wend
End Sub

Sub test()
  Dim XMLDokument As New DOMDocument

  XMLDokument.resolveExternals = True
  XMLDokument.validateOnParse = True
  XMLDokument.async = False
 
  XMLDokument.Load "c:\dokument.xml"
 
  ObdelajElement XMLDokument.documentElement.FirstChild
End Sub
Enakovredna koda je tudi za atribute.
lp,
Matjaž Prtenjak
Administrator
Odgovori