Questão nº 55

Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 55)

FGV2024Analista Judiciário - TI - Banco de DadosTecnologia da Informação
Gabarito: Ever comentário ↓

Considere o seguinte documento XML.

```xml
<?xml version="1.0" encoding="UTF-8"?>
<itens>
<livro>
<titulo>Cartilha LGPD</titulo>
<preco>10</preco>
</livro>
<celular>
<nome>Celular B</nome>
<manual>
<livro>
<titulo>Manual Celular</titulo>
</livro>
</manual>
</celular>
</itens>
```

Para recuperar o título de todos os livros, deve-se usar a expressão xPath:

Resposta comentada

Gabarito Alternativa E

XPath usa caminhos para navegar por um documento XML, como se fosse uma estrutura de pastas, selecionando nós (elementos, atributos, texto) que correspondem a um padrão. O caractere `/` indica um filho direto, `//` indica qualquer descendente, e `..` indica o nó pai.

(A) Incorreta: `/titulo` tenta encontrar um elemento `<titulo>` que seja filho direto da raiz do documento, o que não existe no XML.
(B) Incorreta: `/livro//titulo` tenta encontrar um elemento `<livro>` que seja filho direto da raiz do documento, o que não existe. O elemento raiz é `<itens>`.
(C) Incorreta: `/itens/livro/titulo` seleciona apenas o título do primeiro livro ("Cartilha LGPD"), pois a expressão exige que `<livro>` seja filho direto de `<itens>`, ignorando o segundo livro que está mais aninhado.
(D) Incorreta: `//livro/../titulo` primeiro encontra todos os elementos `<livro>`, depois tenta selecionar o pai de cada `<livro>` (`..`) e, a partir desse pai, busca um `<titulo>` como filho direto. Isso não encontra nenhum `<titulo>`, pois os `<titulo>` estão dentro dos `<livro>`, não como filhos dos pais dos `<livro>`. Armadilha: O `//livro` identifica corretamente ambos os livros, mas a continuação `/../titulo` está incorreta, pois busca um `titulo` como irmão do `livro`, não como seu filho.
(E) Correta: `/itens/..//titulo` primeiro seleciona o elemento `<itens>`, depois `..` sobe para o nó raiz do documento (o pai de `<itens>`). A partir do nó raiz do documento, `//titulo` busca por todos os elementos `<titulo>` em qualquer nível dentro do documento, recuperando assim os títulos de todos os livros.

Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho