Saltar para o conteúdo principal
Versão: Próximo

DOM Insert XML element

DOM Insert XML element ( tarfetElementRef ; sourceElementRef ; childIndex ) -> Resultado

ParâmetroTipoDescrição
tarfetElementRefTexto🡒Elemento de referência do pai XML
sourceElementRefTexto🡒XML element reference to insert
childIndexInteiro longo🡒Index of child of target element above which the new element must be inserted
ResultadoTexto🡐Reference of new XML element

Descrição

O comando DOM Insert XML element se utiliza para inserir um novo elemento XML entre os filhos do elemento XML cuja referência for passada no parâmetro refElementTarget.

Passe o elemento a inserir em refElementFonte. Este elemento deve ser passado como a referência de um elemento XML existente em uma árvore DOM.

O parâmetro indiceFilho se pode utilizar para designar ao filho do elemento pai antes do qual se deve inserir o novo elemento. Passe um número de índice neste parâmetro. Se o valor não for válido (por exemplo, não há nenhum elemento filho deste índice), o novo elemento é agregado antes do primeiro filho do elemento pai.

O comando retorna a referência do elemento XML obtido.

Exemplo

Na estrutura abaixo, nós queremos inverter o primeiro e o segundo livro:

<?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 fazer isso, simplesmente execute o código abaixo:

 var $rootRef : Text
 
 $rootRef:=DOM Parse XML source("") //selection of XML document
 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 também

DOM Append XML element