1 messaggio dal 03 gennaio 2012
Salve come posso fare per recuperare il valore del dato <coordinates> presente su questo link sul mio sito.

http://maps.google.com/maps/geo?q=00121&sensor=false&key=&output=xml

Il valore di <coordinates> cambia a seconda del cap presente su "q" del link.
Esiste qualche funzione di vb.net per recuperare tali dati.
Grazie in anticipo
5.390 messaggi dal 09 febbraio 2002
Contributi
Ciao, benvenuto nel forum!

uno dei modi più veloci per recuperare quel valore è utilizzare LINQ to XML. Per prima cosa, aggiungi questa direttiva Imports all'inizio del tuo file .vb, ti permetterà di usare gli strumenti per lavorare con i documenti xml.

Imports System.Xml.Linq


Poi usa questo codice. Inseriscilo nell'evento Load della pagina o ovunque ti serva.
'carico il documento xml grazie al metodo Load della classe XDocument
Dim documento As XDocument = XDocument.Load("http://maps.google.com/maps/geo?q=00121&sensor=false&key=&output=xml")
'qui indico sia il nome che il namespace dell'elemento da trovare. Il namespace l'ho determinato dall'attributo "xmlns" che si trova sull'elemento "kml" che è in cima al documento
Dim nomeElemento As XName = XName.Get("coordinates", "http://earth.google.com/kml/2.0")
'grazie ad una query LINQ estraggo il valore dell'elemento "coordinates"
Dim valore As String = (From elemento In documento.Descendants(nomeElemento)
                        Select elemento.Value).FirstOrDefault()
'la variabile "valore" conterrà le coordinate
'Fai uno split sulla virgola per separare latitudine e longitudine


Dai un'occhiata anche a questi articoli che trovi su aspitalia, ti mostreranno altri esempi su come estrarre informazioni da documenti XML.
http://www.aspitalia.com/script/script_LINQ_To_XML.aspx

ciao

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
566 messaggi dal 27 dicembre 2005
Ne approfitto....
non ho mai capito perchè devo usare sempre il namespace ?!
5.390 messaggi dal 09 febbraio 2002
Contributi
totti240282 ha scritto:

non ho mai capito perchè devo usare sempre il namespace ?!


Beh, perchè un elemento, come ad esempio il tag <name> contenuto nel documento postato da lsnow, può assumere un significato diverso a seconda del namespace in cui si trova. In quel namespace contiene il testo cercato dall'utente, mentre in un altro potrebbe contenere il nome di una persona o di un film o altro.
Nei documenti XML puoi avere vari frammenti provenienti da diveri namespace ed è opportuno che, nell'effettuare una ricerca, si espliciti il nome completo dell'elemento per evitare che restituisca tag omonimi indesiderati.

Per analogia, sono come le cartelle in un filesystem. Posso capire senza ambiguità che cosa contiene un'immagine chiamata pesca.jpg a seconda che si trovi in una cartella chiamata "frutta" o in una chiamata "sport".

Comunque capisco cosa intendi: per semplicità, se nel documento esiste un elemento di root che porta un namespace, perché il provider non dovrebbe usarlo automaticamente in tutte le mie query LINQ? Se voglio posso sempre indicarne uno diverso...
Forse gli sviluppatori di LINQ to XML hanno voluto mantenere un certo rigore formale e quindi, se un elemento appartiene ad un certo namespace, è richiesto che lo si indichi esplicitamente. Del resto anche quando si facevano query XPath con XmlDocument era obbligatorio fornire il namespace, solo che lì era un po' meno immediato.

ciao
Modificato da BrightSoul il 05 gennaio 2012 18.38 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
566 messaggi dal 27 dicembre 2005
Grazie della risposta....devo approfondire la cosa !!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC