-2
我正在處理這個Web應用程序,並將從窗體捕獲的值傳遞給存儲過程。現在,存儲過程的一個參數接受一個XML字符串。該參數被稱爲「DetailOld」,我不知道如何將表單中的字符串值轉換爲XML字符串。 任何人都可以請幫我嗎?如何在Java中將字符串數據類型轉換爲XML格式?
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// processRequest(request, response);
PrintWriter out1 = response.getWriter();
out1.println("Hey");
try {
// processRequest(request, response);
out1.println("Servlet ");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Connectioncheck.class.getName()).log(Level.SEVERE, null, ex);
}
Connection conn = null;
PreparedStatement myStmt = null;
int num = -1;
try {
conn = DriverManager.getConnection("jdbc:sqlserver://MPESA\\SQL2012;user=realm;password=friend;database=ElmaTest");
if(conn!=null)
{
out1.print("Connection succesful");
try{
myStmt = conn
.prepareStatement("exec p_AddEditAccountCustomer ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?");
if(myStmt!=null)
{
String mnumber = request.getParameter("mobilenumber");
String mtitle = request.getParameter("Title");
String fname= request.getParameter("firstname");
String mName = request.getParameter("MiddleName");
String lname = request.getParameter("LastName");
String maddress = request.getParameter("address");
String melmaid = request.getParameter("elmaid");
String mcity = request.getParameter("City");
String mId = request.getParameter("Idtype");
String midno = request.getParameter("idno");
String operatorid = "1";
String BankId = "99";
String Country = "Kenya";
String customercountry = "1";
String maccntid = request.getParameter("accountid");
String accounttype="1";
String cardnumber ="1";
String mcurrency = request.getParameter("currency");
String branchid = "1";
String AliasName="1";
String createdBy="1";
String createdOn ="2016-11-02";
String DetailOld = "1";`//this is what the procedure //expects as an XML string. I have used the default value 1 for testing //purpose.`
String DetailNew = "1";
String ModuleId="2001";
String eventId="1";
myStmt.setString(1, mnumber);
myStmt.setString(2, mtitle);
myStmt.setString(3, fname);
myStmt.setString(4, mName);
myStmt.setString(5, lname);
myStmt.setString(6, maddress);
myStmt.setString(7, melmaid);
myStmt.setString(8,mcity);
myStmt.setString(9, mId);
myStmt.setString(10, midno);
myStmt.setString(11,operatorid);
myStmt.setString(12, BankId);
myStmt.setString(13, Country);
myStmt.setString(14, customercountry);
myStmt.setString(15, maccntid);
myStmt.setString(16, accounttype);
myStmt.setString(17, cardnumber);
myStmt.setString(18, mcurrency);
myStmt.setString(19, branchid);
myStmt.setString(20,AliasName);
myStmt.setString(21, createdBy);
myStmt.setString(22,createdOn);
myStmt.setString(23, DetailOld);
myStmt.setString(24, DetailNew);
myStmt.setString(25, ModuleId);
myStmt.setString(26,eventId);
myStmt.executeQuery();
}
}catch (SQLException exc) {
exc.printStackTrace();
} finally {
//out1.println("Done properly");
response.sendRedirect("CustomerDetails.jsp");
myStmt.close();
conn.close();
}
}
} catch (SQLException ex) {
Logger.getLogger(Connectioncheck.class.getName()).log(Level.SEVERE, null, ex);
}
}
XML格式 - 字符串detailold-
<Table1>
<CustomerID>1916507095</CustomerID>
<AccountType>BANK</AccountType>
<Country>kenya</Country>
<BankID>99</BankID>
<BankAccountID>001001000095</BankAccountID>
<TitleOfAccount>Mr</TitleOfAccount>
<FirstName>Pramod1</FirstName>
<MiddleName>Kb1</MiddleName>
<LastName>Sahoo</LastName>
<BranchID>000</BranchID>
<TypeOfID>Driving License</TypeOfID>
<IDNumber>276999</IDNumber>
<EmailID>[email protected]</EmailID>
<Address>Nairobi</Address>
<City>AWENDO</City>
<CardNumber>kenya</CardNumber>
<CurrencyID>KES</CurrencyID>
<AliasName>pramod</AliasName>
</Table1>