Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    6

    [VB]recupero di un nodo xml

    ho un file xml cosi composto:
    <famiglia>
    <genitori>
    <mamma>minni</mamma>
    <babbo>topolino</babbo>
    <figli>
    <maschio font="3">tip</maschio>
    <femmina>tap</femmina>
    </figli>
    </genitori>
    </famiglia>

    devo recuperare il valore del font di maschio in un programma di VB
    Private Sub Form_Load()
    Dim oxml As New MSXML2.DOMDocument30
    oxml.loadXML ("c:\familia.xml")

    End Sub

    Come posso recuperare il valore "3" di questo file?


    tnk

    ciauzz
    e' che dire .... in bocca al codice

  2. #2

    Prova in questo modo

    Per riuscirci devi innanzitutto caricare il documento col metodo load anzichè LoadXML (quest'ultimo richiede come parametro il conenuto del file e non il nome del file).
    Poi con i metodi getElementsByTagName e getAttributes puoi ottenere quello che vuoi.

    Ecco il codice di esempio:

    Dim oxml As New MSXML2.DOMDocument30
    'Lista di nodi
    Dim ListaNodi As IXMLDOMNodeList
    'Singolo elemento
    Dim Elemento As IXMLDOMElement

    'Carico il file e controllo eventuali errori
    If oxml.Load("C:\familia.xml") Then
    'Estraggo tutti i nodi di tipo "maschio"
    Set ListaNodi = oxml.getElementsByTagName("maschio")
    'Ciclo su tutti i nodi
    For i = 0 To ListaNodi.length - 1
    'Estraggo il singolo nodo (elemento)
    Set Elemento = ListaNodi.Item(i)
    'Visualizzo un messaggio con il valore dell'attributo font del nodo(elemento) attivo
    MsgBox "font=" & Elemento.getAttribute("font")
    Set Elemento = Nothing
    Next i
    Set ListaNodi = Nothing
    Else
    MsgBox oxml.parseError.errorCode & " " & oxml.parseError.reason & " " & oxml.parseError.Line & " " & oxml.parseError.linepos & " " & oxml.parseError.srcText
    End If
    Set oxml = Nothing


    Spero tu riesca a risolvere il problema, fammi sapere...
    Ciao!!
    :gren:
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    6

    Grazie

    E' ESATTAMENTE la soluzione che stavo cercando

    Grazie 1000

    Tamyka
    Il nanerottolo
    e' che dire .... in bocca al codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    6

    eheheheh

    Ora devo fare l'inverso.

    Cioe' devo inserire in una proprieta' un valore.

    Ne caso precedente supponendo che il valore font fosse =""

    come posso fare per inserire il valore 3?


    ciuazz

    Tamyka la scamorza affumicata
    e' che dire .... in bocca al codice

  5. #5

    SetAttribute

    Per modificare un attributo usa il metodo setAttribute

    Dim oxml As New MSXML2.DOMDocument30
    'Lista di nodi
    Dim ListaNodi As IXMLDOMNodeList
    'Singolo elemento
    Dim Elemento As IXMLDOMElement

    'Carico il file e controllo eventuali errori
    If oxml.Load("C:\familia.xml") Then
    'Estraggo tutti i nodi di tipo "maschio"
    Set ListaNodi = oxml.getElementsByTagName("maschio")
    'Ciclo su tutti i nodi
    For i = 0 To ListaNodi.length - 1
    'Estraggo il singolo nodo (elemento)
    Set Elemento = ListaNodi.Item(i)
    'cambio il valore dell'attributo font
    Elemento.setAttribute(Font, "3")
    Set Elemento = Nothing
    Next i
    Set ListaNodi = Nothing
    Else
    MsgBox oxml.parseError.errorCode & " " & oxml.parseError.reason & " " & oxml.parseError.Line & " " & oxml.parseError.linepos & " " & oxml.parseError.srcText
    End If
    Set oxml = Nothing


    Ciao!!
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    6
    :tongue:
    e' che dire .... in bocca al codice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.