0

XmlDocument を返す .NET 上に構築された Web サービスがあります。

次のようなサーブレットを使用して、JSP ファイルでそれを読んでいます。

CuteServlet servlet = new CuteServlet();
result = servlet.searchProperties(market_type, location, bedroom, price);

CuteServlet の searchProperties メソッド:

public SearchPropertiesResult searchProperties(String propertyMarketType,
     String location, String noOfBedroom, String price) 
{
  wsClient.Property service = new wsClient.Property();
  wsClient.PropertySoap port = service.getPropertySoap();
  return port.searchProperties(propertyMarketType, location, noOfBedroom, price);
}

searchProperties() の戻り型は SearchPropertiesResult です。どうすれば読めますか?

4

1 に答える 1

0

これを解決するために、XmlDocument(C# から返された) asを読み取り、result値を に入れList<Object>、各オブジェクトを にキャストして、Element次のように詳細を読み取ります。

   <% 
   ...
   wsClient.SearchPropertiesResponse.SearchPropertiesResult result 
             = servlet.searchProperties(market_type, location, bedroom, price);
   List<Object> objects = result.getContent();

   Element rootElement = (Element)objects.get(0);
   //out.println(element.getElementsByTagName("property").getLength());
   NodeList propertyList = rootElement.getElementsByTagName("property");
   out.println("<table>");
   int propertiesLength = propertyList.getLength();
   for(int i=0; i<propertiesLength; i++)
   {
   Element aProperty = (Element)propertyList.item(i);
   NodeList childNodeList = aProperty.getChildNodes();

    Element property_idElement = (Element)childNodeList.item(0);
    String property_id = property_idElement.getTextContent();

    Element street_nameElement = (Element)childNodeList.item(2);
    String street_name = (street_nameElement.getTextContent());

    ...
    String tr = "<tr><td>";
    int l = i+1;//"+l+"
    tr += "<b> </b>"+door_no+" "+street_name+", "+post+"<br/>";
    tr += description+"<br/>";
    tr += "Bedroom: "+no_of_bed+"<br/>";
    tr += "Bathroom: "+no_of_bath+"<br/>";
    ...
    tr += "Area: "+area+"<br/><br/><br/><br/>";
    tr += "</td></tr>";
    out.println(tr);
   }
   out.println("</table>");
   %>
于 2012-04-29T18:50:24.723 に答える