Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2018
    Messaggi
    11

    [VB.NET] Accedere a nome del nodo usando LINQ to XML

    Sono alle prese di scorrere un XML per mezzo di LINQ, mi servirebbe farmi restituire il nome del nodo e non i suoi attributi, credo che la cosa sia fattibile ma non riesco a capire come.

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da BoBoPoP Visualizza il messaggio
    Sono alle prese di scorrere un XML per mezzo di LINQ, mi servirebbe farmi restituire il nome del nodo e non i suoi attributi, credo che la cosa sia fattibile ma non riesco a capire come.
    Se stai usando LINQ to XML, allora ciascun elemento è rappresentato da un oggetto XElement che ha una proprietà Name che reca le informazioni sul nome.

    Il campo LocalName contiene il nome senza prefisso.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2018
    Messaggi
    11
    Quote Originariamente inviata da alka Visualizza il messaggio
    Se stai usando LINQ to XML, allora ciascun elemento è rappresentato da un oggetto XElement che ha una proprietà Name che reca le informazioni sul nome.

    Il campo LocalName contiene il nome senza prefisso.

    Ciao!

    a me serve proprio il nome del nodo:
    EX:
    -<Customer CustomerName="Piero" CustomerId="1234">

    in questo caso deve restituirmi "Customer" e non il CustomerName

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da BoBoPoP Visualizza il messaggio
    a me serve proprio il nome del nodo:
    EX:
    -<Customer CustomerName="Piero" CustomerId="1234">

    in questo caso deve restituirmi "Customer" e non il CustomerName
    E' esattamente quello che ti ho suggerito io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2018
    Messaggi
    11
    Si è vero scusami hai risposto esattamente alla mia domanda.

    Altra piccola domanda:

    -<Customers>
    -<Customer CustomerName="Piero" CustomerId="1234">

    se volessi navigare tra i nodi? cioè farmi sempre restituire "Customer"?

    io ho utilizzato:
    ...FirstNode.ToString ma questo mi restituisce: Customer CustomerName="Piero" CustomerId="1234"

    invece per farmi restituire solo il nome del nodo cosa posso usare?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da BoBoPoP Visualizza il messaggio
    Altra piccola domanda:

    -<Customers>
    -<Customer CustomerName="Piero" CustomerId="1234">

    se volessi navigare tra i nodi? cioè farmi sempre restituire "Customer"?

    Se doc è il nome della variabile che si riferisce al tipo XDocument, puoi scrivere qualcosa del tipo

    codice:
    doc.Element("Customers").Elements("Customer")
    per accedere all'elemento contenitore Customers e poi agli elementi figli Customer al suo interno.

    Per ogni elemento, la proprietà LocalName è sempre il nome dell'elemento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2018
    Messaggi
    11
    mi sa che non mi sono spiegato bene, mi spiego meglio io voglio farmi restituire il nome del nodo per qualunque .xml che carico, ho risolto in questo modo:

    a=doc.Root.FirstNode.ToString
    b=Mid(a, 2, a.Indexof(" ")

    ma credo ci sia un metodo che lo faccia direttamente, questa soluzione non mi piace.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da BoBoPoP Visualizza il messaggio
    ma credo ci sia un metodo che lo faccia direttamente, questa soluzione non mi piace.
    Ripeto: usa la proprietà LocalName al posto di ToString.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.