4D v16.3DOM Find XML element |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
DOM Find XML element
|
DOM Find XML element ( elementRef ; xRuta {; arrRefElement} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
elementRef | Cadena |
![]() |
Referencia del elemento XML | |||||
xRuta | Texto |
![]() |
Ruta XPath del elemento a buscar | |||||
arrRefElement | Array cadena |
![]() |
Lista de referencias de los elementos encontrados (si aplica) | |||||
Resultado | Cadena |
![]() |
Referencia del elemento encontrado (si aplica) | |||||
El comando DOM Find XML element permite buscar los elementos XML específicos en una estructura XML. La búsqueda comienza por el elemento designado por el parámetro refElement.
El nodo XML a buscar está definido por el parámetro xRuta, expresado en notación XPath (ver el párrafo “Uso de la notación XPath” en la sección Presentación de los comandos XML DOM). Es posible utilizar elementos indexados.
Nota: conforme a la norma XML, la búsqueda diferencia las mayúsculas y las minúsculas.
El comando devuelve la referencia XML del elemento encontrado.
Cuando se pasa el array cadena arrRefElement, el comando lo llena con la lista de las referencias XML encontradas. En este caso, el comando devuelve el primer elemento del array arrRefElement. Este parámetro es útil cuando existen varios elementos con el mismo nombre en la ubicación designada por el parámetro xRuta.
Este ejemplo permite buscar rápidamente un elemento XML y mostrar su valor:
vEncontrado:=DOM Find XML element(vRefElem;"Items/Book[15]/Title")
DOM GET XML ELEMENT VALUE(vEncontrado;valor)
ALERT("El valor del elemento es: \""+valor+"\"")
La misma búsqueda también puede efectuarse de esta forma:
vEncontrado:=DOM Find XML element(vElemRef;"Items/Book[15]")
vEncontrado:=DOM Find XML element(vEncontrado;"Book/Title")
DOM GET XML ELEMENT VALUE(vEncontrado;valor)
ALERT("El valor del elemento es: \""+valor+"\"")
Nota: como se muestra en el ejemplo anterior, la ruta XPath debe siempre comenzar por el nombre del elemento actual. Esta precisión es importante cuando maneja rutas XPath relativas.
Dada la siguiente estructura XML:
<Root> <Elem1> <Elem2>aaa</Elem2> <Elem2>bbb</Elem2> <Elem2>ccc</Elem2> </Elem1> </Root>
El siguiente código permite recuperar la referencia de cada elemento Elem2 en el array arrEncontrados:
ARRAY TEXT(arrEncontrados;0)
vFound:=DOM Find XML element(vElemRef;"/Root/Elem1/Elem2";arrEncontrados)
Si el comando se ejecutó correctamente, la variable sistema OK toma el valor 1. De lo contrario, toma el valor 0 y se genera un error.
Se genera un error cuando:
Producto: 4D
Tema: XML DOM
Número
864
Modificado: 4D v11 SQL
Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)