2012-02-14 55 views
-1

我有一個小小的一段代碼,我在C#中給定:C#與Java代碼

protected void Page_Load(object sender, EventArgs e) 
    { 
     try{ 
     string sFind = Request.QueryString["F"]; 
     string sFindBy = Request.QueryString["FB"]; 

     Response.ContentType = "text/xml"; 
     //Simulate Resonse (throw exeption on error) --------------------------------> 

     XmlDocument docRet = new XmlDocument(); 
     XmlElement docElement = (XmlElement)docRet.AppendChild(docRet.CreateElement("Request")); 
     generateResponseParamss(docElement, "Language", "heb"); 
     generateResponseParamss(docElement, "IMTSI", "972.001.000000081"); 
     generateResponseParamss(docElement, "Mobile", "0544490540"); 
     generateResponseParamss(docElement, "Email", "[email protected]"); 
     generateResponseParamss(docElement, "FirstName", "גדי"); 
     generateResponseParamss(docElement, "LastName", "גדיגדי"); 

     docRet.Save(Response.OutputStream); 

     }catch(Exception ex){ 
      ShowErrorAsXml(Response, ex); 
     } 
    } 

    public void generateResponseParamss(XmlElement docElement, string sParamsName, string sParamsValue) 
    { 
     XmlElement newNode = (XmlElement)docElement.AppendChild(docElement.OwnerDocument.CreateElement("Param")); 
     newNode.SetAttribute("Name", sParamsName); 
     newNode.SetAttribute("Value", sParamsValue); 
    } 

,我想談談這個代碼的Java,我想我需要創建一個通過接收參數的servlet URL行(「GET」),但C#代碼行我最難治用是:

docRet.Save(Response.OutputStream); 

哪個命令做同樣在Java中。

+0

這是你在找什麼http://www.petefreitag.com/item/445.cfm – Sap 2012-02-14 12:23:53

+0

對不起仍然不知道如何「發送」創建的XML通過servlet的響應 – 2012-02-14 12:29:29

回答

0

Look at this tutorial.搜索StreamResult result = new StreamResult(System.out);

更改該行有new StreamResult(new PrintStream(response.getOutputStream()));

+0

C#Page_Load方法是否等價於Java Servlet的doGet? – 2012-02-14 14:48:37

+0

是的,通常會被GET請求調用 – Sap 2012-02-14 16:23:35

0

有幾種方法可以做到這一點。你用什麼類來存儲xml響應?

+0

org.w3c.dom.Document – 2012-02-14 13:56:28

+0

然後我同意Grrrrr的[答案](http://stackoverflow.com/questions/9276769/c-sharp-to-java-code/9277088#9277088)。但是如果我只輸出文本數據,我寧願使用PrintWriter而不使用PrintStream,因爲在PrintStream的情況下,字符編碼取決於平臺。 'PrintWriter out = response.getWriter(); StreamResult streamResult = new StreamResult(out);' – 2012-02-15 20:42:06