2012-12-08 86 views
-1

您好我正在做一個接收MessageElement []的webservice集成,他們提供的示例輸入是以XML格式給出的。那麼我真的很困惑如何將XML轉換爲MessageElement []。如何將XML轉換爲MessageElement [] Java

示例XML是:

'<DEBITS hasChanges="inserted" xmlns="">' . 
'<DEBIT_ID>-1</DEBIT_ID>' . 
'<EFFECTIVE_DATE>'.$FeeDate.'</EFFECTIVE_DATE>' . 
'<DEBIT_AMOUNT>'. $Fee.'</DEBIT_AMOUNT>' . 
'<MEMO><![CDATA['.$DEBIT_TYPE.']]></MEMO>' . 
'<ACCOUNT_ID>'.$GCSAccountId .'</ACCOUNT_ID>' . 
'<DEBIT_TYPE>'.$DEBIT_TYPE.'</DEBIT_TYPE>' . 
'<DAY_OF_MONTH>'.$Feeday.'</DAY_OF_MONTH>' . 
'<ACTIVE_FLAG>Y</ACTIVE_FLAG>' . 
'<OCCURS_NUM>1</OCCURS_NUM>' . 
'<CREATION_DATE></CREATION_DATE>' . 
'<MODIFIED_DATE></MODIFIED_DATE>' . 
'<MODIFIED_BY></MODIFIED_BY>' . 
'<DEBIT_AUTHORIZED></DEBIT_AUTHORIZED>' . 
'<DEBIT_AUTHORIZED_BY></DEBIT_AUTHORIZED_BY>' . 
'<REMAINING_OCCURRENCES>0</REMAINING_OCCURRENCES></DEBITS>'; 

只是爲了增加更多的情況下,利用軸中生成的Web服務代理類都有其接受簽名一個MessageElement []

+0

那麼我不知道如何繼續這一點。我完全不瞭解org.apache.axis.message.MessageElement類。即使代表一個messageElement的單個元素將非常有用,例如這行'<![CDATA ['。$ DEBIT_TYPE。']]>' – Avidev9

+0

我想網上有一些關於這個類的文檔。這些怎麼樣?你讀過嗎?也許他們甚至提供了一個例子。 @ Avidev9 – 11684

+0

@ 11684感謝您的回覆......真的永遠不會知道! – Avidev9

回答

7

通過大量的文件會經過好。 我想我想出瞭如何處理轉換。 這裏是轉換xml的方法

public static MessageElement[] convertXMLStringtoMessageElement(String xmlString) throws SAXException, IOException, ParserConfigurationException{ 
     MessageElement[] m = new MessageElement[1]; 
     Document XMLDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(xmlString))); 
     Element element = XMLDoc.getDocumentElement(); 
     m[0] = new MessageElement(element); 
     return m; 
    }