Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2000
    Messaggi
    12

    XML Estrapolare un determinato nodo

    Ciao a tutti, solitamente utilizzo il motore di ricerca per evitare di riproporre argomenti già trattati. Ho effettuato innumerevoli ricerche ma non sono riuscito a trovare quello che cercavo per cui ho deciso di scrivere un nuovo topic.

    Ho un file XML generato prelevando i record da un database. L'elenco completo del file riesco a visualizzarlo senza problemi. utilizzando il seguente codice

    codice:
    Set objXML = Server.CreateObject("Microsoft.XMLDOM")
    4objXML.async = False
    objXML.load(Server.MapPath("/public/archivio.xml"))
    set objData = objXML.selectNodes("database/notizia")				
    For i= 0 To objData.length
    TitoloDellaNews=objData(i).selectSingleNode("titolo").text
    IDDellaNews=objData(i).selectSingleNode("newsID").text
    DataDellaNews=objData(i).selectSingleNode("data").text
    OrarioDellaNews=objData(i).selectSingleNode("orario").text
    file=objData(i).selectSingleNode("foto").text
    Next
    set objData = nothing

    Il problema è quando devo estrapolare dal file XML un determinato ID tramite Request.Querystring(newsID) per capirci. Ho provato questo ma non funziona.

    codice:
    set objData = objXML.selectNodes("database/notizia[@newsID='"&request.querystring("newsID")&"']")

    Questo è il file XML, qualcuno potrebbe aiutarmi?

    <database>
    <notizia>
    <newsID>1</newsID>
    <foto>29072008_332119356853982.jpg</foto>
    <data>29/07/2008</data>
    <orario>18.08.11</orario>
    <titolo>Titolo 1</titolo>
    </notizia>

    <notizia>
    <newsID>2</newsID>
    <foto>29072008_332119356853982.jpg</foto>
    <data>29/07/2008</data>
    <orario>18.08.11</orario>
    <titolo>Titolo 2</titolo>
    </notizia>

    <notizia>
    <newsID>3</newsID>
    <foto>29072008_332119356853982.jpg</foto>
    <data>29/07/2008</data>
    <orario>18.08.11</orario>
    <titolo>Titolo 3</titolo>
    </notizia>

    <notizia>
    <newsID>4</newsID>
    <foto>29072008_332119356853982.jpg</foto>
    <data>29/07/2008</data>
    <orario>18.08.11</orario>
    <titolo>Titolo 4</titolo>
    </notizia>
    </database>

  2. #2
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    A vedere il ciclo si, è corretto, ma le variabili tutte le volte le sovrascrivi, se fai terminare il for, quindi o cicli tutto il file XML e memorizzi in qualche array, per poi estrarti il dato che ti serve

    oppure

    dopo che esegui questa istruzione

    IDDellaNews=objData(i).selectSingleNode("newsID"). text

    ci piazzi un bel IF

    tipo

    if IDDellaNews=request.querystring("newsID") then
    qualcosa
    else
    qualcos'altro
    end if

    spero ti sia utile questa dritta

  3. #3
    Dai un'occhiata qui:

    http://www.w3schools.com/XPath/xpath_examples.asp

    Nel tuo caso prova:

    codice:
    Dim newsid: newsid = request.querystring("newsID")
    
    set objData = objXML.selectSingleNode("/database/notizia[newsID=" & newsid & "]/newsID")
    La @ come l'hai usata tu serve per fare riferimento agli attributi dei nodi, non ai nodi stessi.

    Prova con e senza la slash iniziale nell'xpath, ed eventualmente con/senza gli apici sul newsID

    xxx

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 © 2026 vBulletin Solutions, Inc. All rights reserved.