2011-03-18 155 views
0

在我的xml中,我有一個像下面這樣的特定字段我想要獲取select查詢並再次在我的腳本中使用它。有時查詢很長並且也有新行。這嵌入到一個XML中。在shell腳本中解析xml

下面是我想要提取的xml的一部分,它不是完整的xml。我想讀取xml,然後取出部分以文本開頭並從中提取查詢。

可以說我想提取文本=「」>之間的部分。

text="select * from dual"> 
text="select * from xml_config"> 
text="select * from 
     WHERE SOC_STATUS='A') sa, 
     SUBSCRR sub, 
     UH_TEMP_CUSTO leading 
     where (NVL(SA.EXRATION_DATE,SYSDATE) >= SYSDATE - ${HISTORY_DAYS}) 
     AND sub.CUSTOMER_ID=LEADING.CUSTOMER_ID 
     AND sa.AGREEMENT_NO = sub.SUBSCRIBER_NO 
     AND SUB.EFFECTIVE_DATE!=NVL(SUB.EXRATION_DATE,SUB.EFFECTIVE_DATE+1) 
     ORDER BY sa.AGREEMENT_NO"> 

output: 

    value[0] =select * from dual 
    value[1]=select * from xml_config 
    value[2]=select * from WHERE SOC_STATUS='A') sa,SUBSCRR sub, 
      UH_TEMP_CUSTO leading where (NVL(SA.EXRATION_DATE,SYSDATE) >= SYSDATE - ${HISTORY_DAYS}) AND .CUSTOMER_ID=LEADING.CUSTOMER_ID 
    AND sa.AGREEMENT_NO = sub.SUBSCRIBER_NO AND SUB.EFFECTIVE_DATE!=NVL(SUB.EXRATION_DATE,SUB.EFFECTIVE_DATE+1) 
    ORDER BY sa.AGREEMENT_NO 

-Thanks

+0

請使用'{}'按鈕來格式化代碼和XML。我認爲你的問題有些問題,XML部分缺少一些'<',所以請編輯。 – Mat 2011-03-18 09:29:26

回答

0

我看不懂你的問題,但答案是XMLStarlet