xml

xml transforma XML em uma árvore endereçável: elementos usam caminhos pontuados, atributos usam @name e o texto do elemento usa #text.

DadosVersão 1.1.6Estável
lil-terminal

Visão geral

xml aplica o mesmo fluxo focado a XML: lê caminhos de elementos e atributos, busca chaves ou valores, altera um nó de forma atômica, valida o documento e mostra XML normalizado quando a fonte completa é necessária.

Elementos, atributos e texto são nós diferentes

config.@env e config.application.name selecionam nós XML diferentes. O modelo compacto serve para XML simples, não substitui XPath nem um editor XML completo; requer PHP DOM.

Sintaxe

lil-terminal
xml <file> [key|options] · xml dump <file>

Referência

xml <file>

mostrar dados XML

xml <file> <key>

mostrar um elemento, atributo (@name) ou #text exato pelo caminho

xml dump <file>

mostrar o texto-fonte XML normalizado

-f <text|mask> [-k|-v]

procurar correspondências em chaves ou valores; * e ? ativam uma máscara

-w <key> : <value>

gravar um valor e normalizar o arquivo XML

-w <key> < <file>

gravar um valor lido de outro arquivo

-d <key>

excluir um valor pelo caminho pontuado

-c

validar o arquivo XML

Como usar

Comece com xml config/app.xml para ver os caminhos e acrescente um caminho com pontos para um valor. -f procura em chaves e valores; -k só em chaves e -v só em valores. -c valida e dump mostra o XML reconstruído. Em Base, -w <key> : <value> altera, < <file> importa um valor e -d <key> exclui um nó. Faça backup antes.

Limites e segurança

Regravar pode perder comentários, namespaces, detalhes de conteúdo misto, espaços e ordem original. DTDs e entidades externas são recusadas. PHP DOM é obrigatório; Minimum só exibe o arquivo inteiro. Para preservar a marcação use edit ou code.

Prévia interativa do sandbox

Execute os exemplos preparados diretamente na página. Os resultados são predefinidos e exibidos no navegador; nenhum comando do terminal é executado no servidor.

Abrir o arquivo e reutilizá-lo com $

Instalar e gerenciar

Instale a versão compatível atual. Escolha Base para o conjunto completo de recursos ou Minimum para o pacote reduzido; use upgrade para atualizar um módulo já instalado.

Base e Minimum são dois pacotes da mesma versão atual do módulo.

Pacote Base

Instala o pacote completo com referência local e todos os modos publicados.

install xml
Pacote Minimum

Instalar o pacote reduzido. A referência local é omitida; help <cmd> -i abre a referência atual do servidor.

install xml -m
Versão pública exata

Instalar exatamente esta versão publicada.

install xml -v 1.1.6
Verificar ou atualizar

upgrade verifica compatibilidade e substitui o bloco somente quando necessário.

upgrade xml
Remover módulo

Remove o bloco da extensão sem afetar o núcleo ou outros módulos.

install xml -u

Exemplos

Os exemplos podem ser copiados, mas o site não os executa. Revise caminhos, permissões e opções destrutivas.

Abrir o arquivo e reutilizá-lo com $
xml config/app.xml
config.@env               production
config.application.name   lil-shop
config.application.debug  true
config.database.host      localhost
config.database.port      3306
Mostrar um elemento, atributo (@name) ou #text exato pelo caminho
xml config/app.xml config.application.name
lil-shop
Mostrar um elemento, atributo (@name) ou #text exato pelo caminho
xml config/app.xml config.@env
production
Mostrar um elemento, atributo (@name) ou #text exato pelo caminho
xml config/app.xml config.database.port
3306
Procurar correspondências em chaves ou valores; * e ? ativam uma máscara
xml config/app.xml -f "config.database.*" -k
config.database.host  localhost
config.database.port  3306
Procurar correspondências em chaves ou valores; * e ? ativam uma máscara
xml config/app.xml -f "localhost" -v
config.database.host  localhost
Procurar correspondências em chaves ou valores; * e ? ativam uma máscara
xml config/app.xml -f "debug"
config.application.debug  true
Gravar um valor e normalizar o arquivo XML
xml config/app.xml -w config.database.port : 3307
config.database.port  3307
Gravar um valor lido de outro arquivo
xml config/app.xml -w config.application.name < config/from-value.txt
config.application.name  new-shop
Excluir um valor pelo caminho pontuado
xml config/app.xml -d config.application.debug
config.@env              production
config.application.name  lil-shop
config.database.host     localhost
config.database.port     3306
Tratar um arquivo ausente
xml config/app.xml -c
Valid XML
Mostrar o texto-fonte XML normalizado
xml dump config/app.xml
<?xml version="1.0" encoding="UTF-8"?>
<config env="production">
  <application>
    <name>lil-shop</name>
    <debug>true</debug>
  </application>
  <database>
    <host>localhost</host>
    <port>3306</port>
  </database>
</config>
Mostrar um elemento, atributo (@name) ou #text exato pelo caminho
xml config/app.xml unknown.key
Path not found
Validar o arquivo XML
xml config/invalid.xml -c
Invalid XML
Mostrar dados XML
xml config/missing.xml
File not found
Gravar um valor e normalizar o arquivo XML
xml config/app.xml -w config.database.port
Value required after : or <
Excluir um valor pelo caminho pontuado
xml config/app.xml -d config
XML data must have exactly one root element
Gravar um valor e normalizar o arquivo XML
xml config/app.xml -w config.missing.child : 5
Parent path is not a collection

Arquivo usado neste exemplo: sandbox/config/app.xml

O exemplo usa um arquivo ou diretório do espaço protegido de documentação /sandbox/.

<?xml version="1.0" encoding="UTF-8"?>
<config env="production">
  <application><name>lil-shop</name><debug>true</debug></application>
  <database><host>localhost</host><port>3306</port></database>
</config>

Documentação relacionada

Versão pública atual

v1.1.62026-11-01

Refinamento de produção

Versão estável atual de xml. xml transforma XML em uma árvore endereçável: elementos usam caminhos pontuados, atributos usam @name e o texto do elemento usa #text.