Pregunta

Obtengo un archivo XML de un servicio web.Ahora quiero sacar uno de esos elementos del archivo.

Creo que debería usar XPath: ¿alguna buena referencia inicial?

¿Fue útil?

Solución

No es específico de VB, pero prueba esto: http://www.w3schools.com/xsl/xpath_intro.asp

Otros consejos

Acabo de recuperar mis habilidades XPath, esto Hoja de referencia rápida de Xslt y XPath es una referencia bastante útil: no profundiza, pero enumera lo que está disponible y sobre qué es posible que desee buscar más información.

El tutorial de w3schools vinculado anteriormente no es tan bueno (lleva mucho tiempo no cubrir mucho terreno), pero aún así vale la pena leerlo.

Una forma sería extraer únicamente la información necesaria con un archivo xslt en un nuevo xml y utilizar este nuevo xml como base de datos para su posterior procesamiento.

Si necesito hacer algo de XPath, simplemente modifico uno de estos ejemplos.

  • niño::nodo() selecciona todos los hijos del nodo de contexto, cualquiera que sea su tipo de nodo
  • Nombre del Atributo selecciona el atributo de nombre del nodo de contexto
  • atributo::* selecciona todos los atributos del nodo de contexto
  • descendiente::para selecciona los descendientes del elemento para del nodo de contexto
  • ancestro::div selecciona todo div ancestros del nodo de contexto
  • ancestro-o-yo::div selecciona el div ancestros del nodo de contexto y, si el nodo de contexto es un elemento div, el nodo de contexto también
  • descendiente-o-yo-::para selecciona el paraca descendientes de elementos del nodo de contexto y, si el nodo de contexto es un paraca elemento, el nodo de contexto también
  • yo::para selecciona el nodo de contexto si es un paraca elemento, y de lo contrario no selecciona nada
  • niño::capítulo/descendiente::para selecciona el paraca elementos descendientes del capítulo elementos hijos del nodo de contexto
  • niño::*/niño::para selecciona todo paraca nietos del nodo de contexto
  • / selecciona la raíz del documento (que siempre es el padre del elemento del documento)
  • /descendiente::para selecciona todos los paraca elementos en el mismo documento que el nodo de contexto
  • /descendiente::olist/child::item selecciona todos los elementos del elemento que tienen un olista padre y que están en el mismo documento que el nodo de contexto
  • niño::para[posición()=1] selecciona el primero paraca hijo del nodo de contexto
  • hijo::para[posición()=último()] selecciona el último paraca hijo del nodo de contexto
  • hijo::para[posición()=último()-1] selecciona el penúltimo paraca hijo del nodo de contexto
  • niño::para[posición()>1] selecciona todos los paraca hijos del nodo de contexto distintos del primer hijo del nodo de contexto
  • siguiente-hermano::capítulo[posición()=1] selecciona el siguiente capítulo hermano del nodo de contexto
  • hermano-anterior::capítulo[posición()=1] selecciona el anterior capítulo hermano del nodo de contexto
  • /descendiente::figura[posición()=42] selecciona el elemento de figura cuadragésimo segundo en el documento
  • /child::doc/child::capítulo[posición()=5]/child::sección[posición()=2] selecciona la segunda sección de la quinta capítulo del doc elemento del documento
  • niño::para[atributo::tipo="advertencia"] selecciona todo paraca hijos del nodo de contexto que tienen un atributo de tipo con valor advertencia
  • niño::para[atributo::tipo='advertencia'][posición()=5] selecciona el quinto paraca hijo del nodo de contexto que tiene un atributo de tipo con valor de advertencia
  • child::para[posición()=5][atributo::tipo="advertencia"] selecciona el quinto paraca hijo del nodo de contexto si ese hijo tiene un atributo de tipo con valor advertencia
  • niño::capítulo[niño::título='Introducción'] selecciona los capítulos secundarios del nodo de contexto que tienen uno o más títulos secundarios con un valor de cadena igual a Introducción
  • niño::capítulo[niño::título] selecciona el capítulo hijos del nodo de contexto que tienen uno o más títulos hijos
  • niño::*[self::capítulo o self::apéndice] selecciona el capítulo y apéndice hijos del nodo de contexto
  • hijo::*[self::capítulo o self::apéndice][posición()=último()] selecciona el último capítulo o apéndice hijo del nodo de contexto

Se puede encontrar una documentación detallada. aquí.También estos ejemplos están tomados de allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top