-1
我一直在下面的轉換代碼中工作很長時間。我不確定這個需求在XSLT &中是否可行,需要您的幫助來確定它是否可能使用XSLT。使用XSLT在XML中對錶格元素進行分組
我的輸入XML是如下,
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<base:callFlowResponse xmlns:base="http://schema/webservices.elink.solcorp.com">
<Messages>
<More/>
</Messages>
<OUTPUT>
<MIR-DV-INT>100</MIR-DV-INT>
<MIR-DEP-AMT>0000000000042832.50</MIR-DEP-AMT>
<MIR-DV-TOTAL-AMT-DUE>1000</MIR-DV-TOTAL-AMT-DUE>
<MIR-MAX-REM-TOP-PREM>1000</MIR-MAX-REM-TOP-PREM>
<MIR-DV-DUE-DT-G>
<TableMIR-DV-DUE-DT-T>
<MIR-DV-DUE-DT-T>2011-01-01</MIR-DV-DUE-DT-T>
<MIR-DV-DUE-DT-T/>
<MIR-DV-DUE-DT-T/>
</TableMIR-DV-DUE-DT-T>
</MIR-DV-DUE-DT-G>
<MIR-DV-POL-MPREM-AMT-G>
<TableMIR-DV-POL-MPREM-AMT-T>
<MIR-DV-POL-MPREM-AMT-T>1000</MIR-DV-POL-MPREM-AMT-T>
<MIR-DV-POL-MPREM-AMT-T/>
<MIR-DV-POL-MPREM-AMT-T/>
</TableMIR-DV-POL-MPREM-AMT-T>
</MIR-DV-POL-MPREM-AMT-G>
<MIR-DV-BASIC-SERV-TAX-AMT-G>
<TableMIR-DV-BASIC-SERV-TAX-AMT-T>
<MIR-DV-BASIC-SERV-TAX-AMT-T>10000</MIR-DV-BASIC-SERV-TAX-AMT-T>
<MIR-DV-BASIC-SERV-TAX-AMT-T/>
<MIR-DV-BASIC-SERV-TAX-AMT-T/>
</TableMIR-DV-BASIC-SERV-TAX-AMT-T>
</MIR-DV-BASIC-SERV-TAX-AMT-G>
<MIR-DV-TOTL-SW-CESS-AMT-G>
<TableMIR-DV-TOTL-SW-CESS-AMT-T>
<MIR-DV-TOTL-SW-CESS-AMT-T>1000</MIR-DV-TOTL-SW-CESS-AMT-T>
<MIR-DV-TOTL-SW-CESS-AMT-T/>
<MIR-DV-TOTL-SW-CESS-AMT-T/>
</TableMIR-DV-TOTL-SW-CESS-AMT-T>
</MIR-DV-TOTL-SW-CESS-AMT-G>
<MIR-DV-KR-KL-CESS-AMT-G>
<TableMIR-DV-KR-KL-CESS-AMT-T>
<MIR-DV-KR-KL-CESS-AMT-T>1000</MIR-DV-KR-KL-CESS-AMT-T>
<MIR-DV-KR-KL-CESS-AMT-T/>
<MIR-DV-KR-KL-CESS-AMT-T/>
</TableMIR-DV-KR-KL-CESS-AMT-T>
</MIR-DV-KR-KL-CESS-AMT-G>
<MIR-DV-PREM-AMT-G>
<TableMIR-DV-PREM-AMT-T>
<MIR-DV-PREM-AMT-T>10000</MIR-DV-PREM-AMT-T>
<MIR-DV-PREM-AMT-T/>
<MIR-DV-PREM-AMT-T/>
</TableMIR-DV-PREM-AMT-T>
</MIR-DV-PREM-AMT-G>
<MIR-DV-ADV-PREM-AMT>1000</MIR-DV-ADV-PREM-AMT>
<MIR-TOTL-SW-BH-CESS-TAX-AMT>1000</MIR-TOTL-SW-BH-CESS-TAX-AMT>
<MIR-KR-KL-CESS-TAX-AMT>1000</MIR-KR-KL-CESS-TAX-AMT>
</OUTPUT>
</base:callFlowResponse>
</S:Body>
</S:Envelope>
輸出XML應儘可能,
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<base:callFlowResponse xmlns:base="http://schema/webservices.elink.solcorp.com">
<Messages>
<More/>
</Messages>
<OUTPUT>
<MIR-DV-INT>100</MIR-DV-INT>
<MIR-DEP-AMT>0000000000042832.50</MIR-DEP-AMT>
<MIR-DV-TOTAL-AMT-DUE>1000</MIR-DV-TOTAL-AMT-DUE>
<MIR-MAX-REM-TOP-PREM>1000</MIR-MAX-REM-TOP-PREM>
<GROUP-1>
<MIR-DV-DUE-DT-T>2011-01-01</MIR-DV-DUE-DT-T>
<MIR-DV-POL-MPREM-AMT-T>1000</MIR-DV-POL-MPREM-AMT-T>
<MIR-DV-BASIC-SERV-TAX-AMT-T>10000</MIR-DV-BASIC-SERV-TAX-AMT-T>
<MIR-DV-TOTL-SW-CESS-AMT-T>1000</MIR-DV-TOTL-SW-CESS-AMT-T>
<MIR-DV-KR-KL-CESS-AMT-T>1000</MIR-DV-KR-KL-CESS-AMT-T>
<MIR-DV-PREM-AMT-T>10000</MIR-DV-PREM-AMT-T>
</GROUP-1>
<GROUP-2>
<MIR-DV-DUE-DT-T></MIR-DV-DUE-DT-T>
<MIR-DV-POL-MPREM-AMT-T></MIR-DV-POL-MPREM-AMT-T>
<MIR-DV-BASIC-SERV-TAX-AMT-T></MIR-DV-BASIC-SERV-TAX-AMT-T>
<MIR-DV-TOTL-SW-CESS-AMT-T></MIR-DV-TOTL-SW-CESS-AMT-T>
<MIR-DV-KR-KL-CESS-AMT-T></MIR-DV-KR-KL-CESS-AMT-T>
<MIR-DV-PREM-AMT-T></MIR-DV-PREM-AMT-T>
</GROUP-2>
<GROUP-3>
<MIR-DV-DUE-DT-T></MIR-DV-DUE-DT-T>
<MIR-DV-POL-MPREM-AMT-T></MIR-DV-POL-MPREM-AMT-T>
<MIR-DV-BASIC-SERV-TAX-AMT-T></MIR-DV-BASIC-SERV-TAX-AMT-T>
<MIR-DV-TOTL-SW-CESS-AMT-T></MIR-DV-TOTL-SW-CESS-AMT-T>
<MIR-DV-KR-KL-CESS-AMT-T></MIR-DV-KR-KL-CESS-AMT-T>
<MIR-DV-PREM-AMT-T></MIR-DV-PREM-AMT-T>
</GROUP-3>
<MIR-DV-ADV-PREM-AMT>1000</MIR-DV-ADV-PREM-AMT>
<MIR-TOTL-SW-BH-CESS-TAX-AMT>1000</MIR-TOTL-SW-BH-CESS-TAX-AMT>
<MIR-KR-KL-CESS-TAX-AMT>1000</MIR-KR-KL-CESS-TAX-AMT>
</OUTPUT>
</base:callFlowResponse>
</S:Body>
</S:Envelope>
我看到,其中分組是在散射節點進行各種實例。但我的要求是不同的。我有六個表,其中所有相關的值都是像數組一樣給出的。我必須閱讀所有六個表格,按元素&創建一個組。我應該這樣做,直到所有的節點都被讀取(在這種情況下,大小爲三)
如果你至少可以指導我一個類似的例子,我可以參考我的編碼,這將是一個很大的幫助。
感謝您的幫助。