Ler XML

1. Ler XML

Maiara Romano
mromano

(usa Outra)

Enviado em 15/05/2009 - 14:19h

Olá,

preciso desenvolver um script em bash que consiga fazer,
adequamente, uma leitura/nevegação em arquivos XML.
Exemplo:

Imagine um XML com o seguinte conteúdo:
------------------------------------------------------------------------
<project name="cbill-rat" sgbd="oracle">

<dbuser prefix="cbill" suffix="" exp_data="no" exp_struct="no"/>

<dbuser prefix="cbill" suffix="_itg" exp_data="no" exp_struct="yes"/>

<dbuser prefix="cbill" suffix="_sch" exp_data="yes" exp_struct="yes">
<data_export>
<exclude_tables>
DBC_CONTROLE
DBC_CONTROLE_HIST
DBC_EXT_ERROR
DBC_EXT_ERROR_VALUE
DBC_EXT_FILE_BLOCK
DBC_EXT_OUTPUT_REMITTANCE
DBC_ITM_BILLING_ITEM
DBC_ITM_DISCOUNT_ITEM
DBC_LAYOUT
DBC_LOG
DBC_PRS_ATTRIBUTE_SUM
DBC_PRS_BLOCK_COUNTER
DBC_PRS_HISTORY_RECORD_STATUS
DBC_PRS_HISTORY_REMITTANCE_ST
DBC_PRS_PROCESS_BLOCK
DBC_PRS_RECORD
DBC_PRS_RECORD_ERROR_VALUE
DBC_PRS_REMITTANCE
DBC_PRS_REPROCESS_REQ_RMTT
DBC_PRS_USAGE_ITEM
DBC_PRS_USAGE_ITEM_CYCLE_OC
DBC_PRS_USAGE_ITEM_SLICED
EXT_%
MATCH_%
PRS_ATTRIBUTE_SUM
PRS_BLOCK_COUNTER
PRS_HISTORY_RECORD_STATUS
PRS_HISTORY_REMITTANCE_STATUS
PRS_PROCESS_BLOCK
PRS_RECORD
PRS_RECORD_ERROR_VALUE
PRS_RECORD_FILTER
PRS_RECORD_FILTER_BILL_COMPANY
PRS_RECORD_FILTER_BILL_STATE
PRS_RECORD_FILTER_COMPANY_A
PRS_RECORD_FILTER_ERROR
PRS_RECORD_FILTER_STATE_A
PRS_RECORD_FILTER_STATUS
PRS_RECORD_FILTER_UV_IDS
PRS_REMITTANCE
PRS_REMITTANCE_FILTER
PRS_REMITTANCE_FILTER_ERROR
PRS_REPROCESS_REQUEST
PRS_REPROCESS_REQ_RMTT
PRS_REP_REQ_STATS
PRS_USAGE_ITEM
PRS_USAGE_ITEM_CYCLE_OC
PRS_USAGE_ITEM_SLICED
TMP_%
%_TMP
</exclude_tables>
</data_export>
</dbuser>

<dbuser prefix="sup" suffix="_sch" exp_data="yes" exp_struct="yes">
<data_export>
<exclude_tables>
BKP_%
TMP_%
%_TMP
</exclude_tables>
</data_export>
</dbuser>

<dbuser prefix="comptech" suffix="_sch" exp_data="yes" exp_struct="yes">
<data_export>
<exclude_tables>
DIT_AUDIT
JMS_MESSAGE_LOG
QTZ_CRON_TRIGGERS
QTZ_JOB_DETAILS
QTZ_TRIGGERS
RPT_HISTORY
RPT_REPORT
TMP_%
%_TMP
</exclude_tables>
</data_export>
</dbuser>

</project>
------------------------------------------------------------------------



eu passaria informações (como parâmetro) como:

project dbuser:prefix=sup:suffix=_sch data_export exclude_tables

e ele me retornaria o valor da "navegação"

BKP_%
TMP_%
%_TMP


Estou utilizando expressões regulares, como o sed.
Porém, pego as tags passadas como parâmetro e monto o comando sed dentro do script, ele reconhece a tag e monta o comando, mas não sei porque, não retorna nada.


Alguém poderia me ajudar?
Desde já agradeço.

[]s




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts