Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    XML nodi uguali con attributi

    Ciao a tutti, sto sbattendo la testa -> su un xml che cerco di leggere con Microsoft.XMLDOM.
    Il mio XML é così composto
    <items>
    <item id="1">valore1</item>
    <item id="2">valore2</item>
    <item id="3">valore3</item>
    <item id="4">valore4</item>
    </items>

    avrei bisogno di estrapolare valore1 ... valore4
    ho provato con questo script che ho trovato in giro

    Codice PHP:
    Set objXML Server.CreateObject("Microsoft.XMLDOM")
    objXML.setProperty "ServerHTTPRequest"true 

    objXML
    .async False

    'Carica il file XML o il feed rss in formato xml
    strFile= percorso_wwwroot & file_annunci
    objXML.Load (strFile)

    Set AllItems = objXML.selectNodes("//dataset")

    For I = 0 to (AllItems.Length - 1)
      Set Post = AllItems(I).selectNodes("items")
      For J = 0 to (Post.Length-1)
          set item = Post(J).selectNodes("item[id='
    0']")
            Response.Write(item)
            Response.Write(item(0).text)
          Next
        Set Post = Nothing
    Next 
    ma mi da errore provando singolarmente ognuno dei 2 response.write. Come faccio ad estrapolarmi il valore 'valore1' che in teoria é dentro la variabile 'item'?

    __________________________________________________ ________________________

    questo invece é lo script che avevo fatto da cui riesco ad estrapolarmi i valori ma ha comunque un suo problema, se trova un nodo </item> (quindi non valorizzato) mi va in errore dicendomi "Necessario oggetto [object]"
    Codice PHP:
    'Utilizzo oggetto DOM per caricare il file xml
        Set objXML = CreateObject("msxml2.DOMDocument.3.0")
        
        objXML.async = false
        objXML.setProperty "ServerHTTPRequest", True
        objXML.validateOnParse =false
        objXML.preserveWhiteSpace = false
            Set Nodo = objXML.getElementsByTagName("item")
            
            For Each objNodi In Nodo
                    For Each objNodo In objNodi.childNodes
                
                    Select Case objNodo.nodeName
                        Case "item id=""0"""
                            item = objNodo.firstChild.nodevalue
                    End Select
                    Next
            Next 
    Soluzioni per qualsiasi dei 2 problemi?
    A presto
    Fabio

  2. #2
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    Usa questa classe per la manipolazione di xml e vai sul sicuro
    http://www.adsoft.nl/ViewProject.aspx?pid=1

  3. #3
    ti ringrazio, ho comunque trovato una scappatoia al mio secondo script, invece che
    objNodo.firstChild.nodevalue
    metto
    objNodo.text
    e non mi da problemi

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