Domanda

Ho un file XML Da un servizio web.Ora voglio prendere uno di quelli elementi di file.

Penso che dovrei andare a utilizzare XPath - qualsiasi buon avviamento di riferimento?

È stato utile?

Soluzione

Non specifiche di VB, ma provate questo: http://www.w3schools.com/xsl/xpath_intro.asp

Altri suggerimenti

Ho appena iniziato a recuperare la mia XPath competenze - questo Xslt e XPath scheda di Riferimento Rapido è piuttosto un utile riferimento, non va in profondità, ma l'elenco di ciò che è disponibile e ciò che si potrebbe desiderare di ricerca per ulteriori informazioni sulle.

Il w3schools tutorial collegato in precedenza non è buona, vuole molto tempo per non coprire un sacco di terra - ma è ancora la pena di leggere.

Un modo potrebbe essere quello di estrarre solo le informazioni necessarie, con un file xslt in un nuovo xml e l'utilizzo di questo nuovo xml come base di dati per ulteriori elaborazioni

Se ho bisogno di fare qualche XPath, mi sono limitato a modificare uno di questi esempi.

  • bambino::node() seleziona tutti i figli del nodo di contesto, qualunque sia il loro tipo di nodo
  • attributo::nome seleziona il nome dell'attributo del nodo di contesto
  • attributo::* seleziona tutti gli attributi del nodo di contesto
  • discendente::para seleziona il para elemento discendenti del nodo di contesto
  • antenato::div seleziona tutti div antenati del nodo di contesto
  • antenato-or-self::div seleziona l' div antenati del nodo di contesto e, se il nodo di contesto è un elemento div, il nodo di contesto e
  • descendant-or-self::para seleziona l' para elemento discendenti del nodo di contesto e, se il nodo di contesto è un para elemento, il nodo di contesto e
  • self::para seleziona il nodo di contesto se si tratta di un para elemento, e in caso contrario sceglie nulla
  • bambino::capitolo/descendant::para seleziona l' para elemento discendenti del capitolo elemento figli del nodo di contesto
  • bambino::*/child::para seleziona tutti para nipoti del nodo di contesto
  • / seleziona la radice del documento (che è sempre il padre di un elemento del documento)
  • /descendant::para seleziona tutti i para elementi nel documento stesso come il nodo di contesto
  • /descendant::olist/child::articolo seleziona tutti gli elementi che hanno un olist genitore e che sono nello stesso documento, come il nodo di contesto
  • bambino::para[position()=1] seleziona il primo para figlio del nodo di contesto
  • bambino::para[position()=last()] seleziona l'ultimo para figlio del nodo di contesto
  • bambino::para[position()=last()-1] seleziona la penultima para figlio del nodo di contesto
  • bambino::para[position()>1] seleziona tutti i para figli del nodo di contesto diverso da quello del primo para figlio del nodo di contesto
  • seguenti-sibling::capitolo[position()=1] seleziona il successivo capitolo fratello del nodo di contesto
  • preceding-sibling::capitolo[position()=1] seleziona la precedente capitolo fratello del nodo di contesto
  • /descendant::figura[position()=42] seleziona la quarantaduesima figura elemento del documento
  • /child::doc/child::capitolo[position()=5]/child::sezione[position()=2] seleziona la seconda sezione del quinto capitolo del doc elemento del documento
  • bambino::para[attribute::type="warning"] seleziona tutti para figli del nodo di contesto che hanno un tipo di attributo con valore avviso
  • bambino::para[attribute::type= "warning"] [position()=5] seleziona la quinta para figlio del nodo di contesto che ha un attributo type con valore di avviso
  • bambino::para[position()=5][attribute::type="warning"] seleziona la quinta para figlio del nodo di contesto se il bambino ha un attributo type con valore avviso
  • bambino::capitolo[child::titolo='Introduzione'] seleziona il capitolo figli del nodo di contesto che hanno uno o più titolo per bambini con string-value pari a Introduzione
  • bambino::capitolo[child::titolo] seleziona l' capitolo figli del nodo di contesto che hanno uno o più titolo per bambini
  • bambino::*[self::capitolo o self::appendice] seleziona l' capitolo e appendice figli del nodo di contesto
  • bambino::*[self::capitolo o self::appendice][position()=last()] seleziona l'ultimo capitolo o appendice figlio del nodo di contesto

Un'approfondita documentazione può essere trovato qui.Anche questi esempi sono presi da lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top