Question

Je reçois un fichier XML d'un service Web. Maintenant, je veux extraire l'un de ces éléments du fichier.

Je pense que je devrais utiliser XPath - toute bonne référence de démarrage?

Était-ce utile?

La solution

Pas spécifique à VB, mais essayez ceci: http://www.w3schools.com/xsl /xpath_intro.asp

Autres conseils

Je viens de récupérer mes compétences XPath - cette fiche de référence rapide Xslt et XPath est Une référence assez utile - elle n’entre pas dans la profondeur, mais elle répertorie ce qui est disponible et ce sur quoi vous voudrez peut-être chercher plus d’informations.

Le didacticiel w3schools, lié précédemment, n’est pas très bon - il faut beaucoup de temps pour ne pas couvrir beaucoup de terrain - mais cela vaut quand même la peine d’être lu.

Une solution serait d'extraire uniquement les informations nécessaires avec un fichier xslt dans un nouveau fichier xml et d'utiliser ce nouveau fichier xml comme base de données pour un traitement ultérieur

Si j’ai besoin de faire quelques XPath, j’ai juste modifié un de ces exemples.

  • child :: node () sélectionne tous les enfants du nœud de contexte, quel que soit leur type de nœud
  • attribute :: name sélectionne l'attribut name du noeud de contexte
  • attribute :: * sélectionne tous les attributs du noeud de contexte
  • descendant :: para sélectionne les descendants d'élément para du noeud de contexte
  • ancestor :: div sélectionne tous les div ancêtres du noeud de contexte
  • ancestor-or-self :: div sélectionne les div ancêtres du nœud de contexte et, si le nœud de contexte est un élément div, le nœud de contexte également
  • descendant-or-self :: para sélectionne les descendants de l'élément para du nœud de contexte et, si le nœud de contexte est un para élément, le nœud de contexte aussi
  • self :: para sélectionne le nœud de contexte s'il s'agit d'un élément para , et ne sélectionne rien sinon
  • child :: chapter / descendant :: para sélectionne les para descendants de l'élément chapitre des enfants du nœud de contexte
  • child :: * / child :: para sélectionne tous les para petits-enfants du noeud de contexte
  • / sélectionne la racine du document (qui est toujours le parent de l'élément de document)
  • / descendant :: para sélectionne tous les éléments para du même document que le nœud de contexte
  • / descendant :: olist / child :: item sélectionne tous les éléments de l'élément ayant un parent olist et figurant dans le même document que le nœud de contexte
  • child :: para [position () = 1] sélectionne le premier para enfant du noeud de contexte
  • child :: para [position () = last ()] sélectionne le dernier para du noeud de contexte
  • child :: para [position () = last () - 1] sélectionne l'avant dernier para enfant du noeud de contexte
  • child :: para [position () & 1) sélectionne tous les para enfants du noeud de contexte autres que le premier enfant du noeud de contexte
  • following-sibling :: chapter [position () = 1] sélectionne le chapitre suivant frère du noeud de contexte
  • precedent-sibling :: chapter [position () = 1] sélectionne le chapitre précédent frère du noeud de contexte
  • / descendant :: figure [position () = 42] sélectionne le quarante-deuxième élément de figure du document
  • / child :: doc / child :: chapter [position () = 5] / child :: section [position () = 2] sélectionne la deuxième section du cinquième chapitre de l'élément doc du document
  • child :: para [attribut :: type = "warning"] sélectionne tous les enfants para du nœud de contexte ayant un attribut de type avec la valeur avertissement
  • child :: para [attribut :: type = 'avertissement'] [position () = 5] sélectionne le cinquième enfant para du nœud de contexte ayant un attribut type avec avertissement de valeur
  • child :: para [position () = 5] [attribut :: type = "warning"] sélectionne le cinquième enfant para du nœud de contexte si l'enfant a un attribut de type avec la valeur warning
  • child :: chapter [child :: title = 'Introduction'] sélectionne les enfants de chapitre du nœud de contexte ayant un ou plusieurs enfants de titre avec une valeur de chaîne égale à Introduction
  • child :: chapter [child :: title] sélectionne les chapitres enfants du noeud de contexte qui ont un ou plusieurs enfants de titre
  • child :: * [self :: chapter ou self :: annexe] sélectionne les chapitres et annexes du noeud de contexte
  • child :: * [self :: chapitre ou self :: annexe] [position () = last ()] sélectionne le dernier chapitre ou annexe enfant du noeud de contexte

Vous trouverez une documentation détaillée ici . Ces exemples sont également repris de là.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top