Saltar al contenido principal
Versión: Siguiente

DOM Insert XML element

DOM Insert XML element ( refElementTarget ; refElementFuente ; indiceHijo ) -> Resultado

ParámetroTipoDescripción
refElementTargetTexto🡒Referencia del elemento XML padre
refElementFuenteTexto🡒Referencia del elemento XML a insertar
indiceHijoEntero largo🡒Índice del hijo del elemento objetivo antes del cual se debe insertar el nuevo elemento
ResultadoTexto🡐Referencia del nuevo elemento XML

Descripción

El comando DOM Insert XML element se utiliza para insertar un nuevo elemento XML entre los hijos del elemento XML cuya referencia se pasa en el parámetro refElementTarget.

Pase el elemento a insertar en refElementFuente. Este elemento se debe pasar como la referencia de un elemento XML existente en un árbol DOM.

El parámetro indiceHijo se puede utilizar para designar al hijo del elemento padre antes del cual se debe insertar el nuevo elemento. Pase un número de índice en este parámetro. Si el valor no es válido (por ejemplo, no hay ningún elemento hijo de este índice), el nuevo elemento se agrega antes del primer hijo del elemento padre.

El comando devuelve la referencia del elemento XML obtenido.

Ejemplo

En la siguiente estructura, queremos invertir el primer y segundo libro:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<BookCatalog>
  <Book>
          <Title>Open Source Web Services</Title>
          <Author>Collective</Author>
          <Date>2003</Date>
          <ISBN>2-7440-1507-5</ISBN>
          <Publisher>Wrox</Publisher>
    </Book>
<Book>
          <Title>Building XML Web services</Title>
          <Author>Scott Short</Author>
          <Date>2002</Date>
          <ISBN>2-10-006476-2</ISBN>
          <Publisher>Microsoft Press</Publisher>
    </Book>
</BookCatalog>


Para hacerlo, simplemente ejecutamos el siguiente código:

 var $rootRef : Text
 
$rootRef:=DOM Parse XML source("") //selección de documento XML
 If(OK=1)
    var $newStruct : Text
    $newStruct:=DOM Create XML Ref("BookCatalog")
 
    $bookRef:=DOM Find XML element($rootRef;"/BookCatalog/Book[1]")
    $newElementRef:=DOM Append XML element($newStruct;$bookRef)
 
    $bookRef:=DOM Find XML element($rootRef;"/BookCatalog/Book[2]")
    var $newElementRef : Text
    $newElementRef:=DOM Insert XML element($newStruct;$bookRef;1)
 
    DOM CLOSE XML($newStruct)
    DOM CLOSE XML($rootRef)
 End if


Ver también

DOM Append XML element