Ir para o conteúdo

Avaliador XPath

Execute uma expressão XPath 1.0 sobre XML colado e veja cada correspondência, seu valor e seu caminho.

Entrada
Saída

Avaliador XPath

Cole um documento XML, escreva uma expressão XPath 1.0 e esta ferramenta lista cada nó que corresponde — sem necessidade de escrever um script ou abrir um depurador para verificar se um seletor realmente encontra o que você espera. Foi construída para o momento em que você está olhando para uma folha de estilos XSLT, uma regra de raspagem web ou um caminho XQuery que não retorna o que esperava, e precisa testar a expressão isoladamente contra o documento real.

A opção de tipo de resultado controla como o valor da expressão é lido: "Conjunto de nós" lista cada elemento, atributo, nó de texto ou comentário correspondente; "Texto", "Número" e "Booleano" convertem a expressão inteira da mesma forma que as funções string(), number() e boolean() do próprio XPath, que é como você verifica uma comparação ou uma chamada count() isoladamente. Para resultados de conjunto de nós, "Mostrar correspondências como" alterna entre o conteúdo de texto de cada correspondência e seu XML serializado completo, e você pode numerar as correspondências ou prefixar cada uma com o caminho resolvido (como /catalog/book[2]/title) que a encontrou.

A sintaxe suportada cobre o subconjunto que as pessoas realmente usam: todos os dez eixos padrão (child, descendant, descendant-or-self para //, parent, ancestor, self, following-sibling, preceding-sibling e attribute para @), curingas, predicados posicionais e booleanos, o operador union e funções comuns — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() e os operadores aritméticos e de comparação. Variáveis, document(), key() e o eixo namespace não são suportados. Documentos com namespace precisam de um prefixo vinculado ao seu URI em "Vinculações de espaço de nomes", um par prefixo=URI por linha — ou ative "Ignorar espaços de nomes" para corresponder apenas pelo nome local, independentemente do prefixo.

Tudo é executado localmente no seu navegador: o XML que você cola e a expressão que escreve contra ele nunca são carregados em nenhum lugar, portanto é seguro testar contra respostas reais de API, exportações de configuração ou trechos de registos de produção. XML inválido e expressões inválidas são relatados com o que falhou, não com um resultado vazio.

FAQ

Quais partes do XPath 1.0 são suportadas?
Os dez eixos padrão, testes de nome e tipo de nó (incluindo curingas e text()/comment()/node()), predicados posicionais e booleanos, o operador union (|), operadores aritméticos e de comparação, e funções comuns como position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() e sum(). Variáveis ($x), document(), key() e o eixo namespace não são suportados.
Por que a minha expressão não corresponde a nada num documento com namespace?
Um teste de nome sem prefixo corresponde apenas a elementos sem namespace — é a mesma regra que os processadores XPath reais seguem. Vincule o prefixo que a sua expressão usa ao URI de namespace do documento em "Vinculações de espaço de nomes" (um par prefixo=URI por linha), ou ative "Ignorar espaços de nomes" para corresponder apenas pelo nome local.
Qual é a diferença entre os quatro tipos de resultado?
"Conjunto de nós" lista os nós correspondentes em si. "Texto", "Número" e "Booleano" convertem a expressão inteira da mesma forma que as funções string(), number() e boolean() do XPath — útil para verificar uma expressão count() ou uma comparação diretamente sem encapsulá-la num predicado.
O que acontece com XML inválido ou uma expressão inválida?
A ferramenta relata qual deles falhou e porquê — uma etiqueta não fechada ou elemento não correspondente para XML, um token inesperado ou um prefixo de namespace não vinculado para a expressão — em vez de retornar um resultado vazio ou enganador.
O meu documento XML é carregado em algum lugar?
Não. A análise e a avaliação são executadas inteiramente no seu navegador — o documento e a expressão nunca deixam o seu dispositivo.