WebAPIs

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>

<code hidden id="4cab131687eb5">
String getDataFromURL(String u){
 if(u.indexOf("?")>0) u = u + "&rnd="+Math.random(); else u = u + "?rnd="+Math.random();
 url = new URL(u);
 is = url.openStream();  
 dis = new DataInputStream(new BufferedInputStream(is));
 String r = "";
 while ((line = dis.readLine()) != null) {
   r += line;
 }
 return r;
}

org.w3c.dom.Document getXMLfromString(String r) {
 javax.xml.parsers.DocumentBuilderFactory docBuilderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
 javax.xml.parsers.DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();

 StringReader reader = new StringReader(r);
 org.xml.sax.InputSource inputSource = new org.xml.sax.InputSource( reader );
 org.w3c.dom.Document doc = docBuilder.parse(inputSource);
 reader.close();
 doc.getDocumentElement().normalize();
 return doc;
}
</code>

<eval id="4d25f9f45c221">
// XML from String Example
xml = getXMLfromString("<quote><QuoteOfTheDay>This is great!</QuoteOfTheDay><Author>Ich</Author></quote>");

System.out.println ("Zitat: " + xml.getElementsByTagName("QuoteOfTheDay").item(0).getFirstChild().getNodeValue());
System.out.println ("Von: " + xml.getElementsByTagName("Author").item(0).getFirstChild().getNodeValue());
</run>

<eval id="4cab1bb330c45">
result = getDataFromURL("http://www.swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx/GetQuote");
xml = getXMLfromString(result);

System.out.println ("Zitat: " + xml.getElementsByTagName("QuoteOfTheDay").item(0).getFirstChild().getNodeValue());
System.out.println ("Von: " + xml.getElementsByTagName("Author").item(0).getFirstChild().getNodeValue());
</run>

<eval id="4cab131687f35">
// manchmal ist der Webservice unerreichbar und es kommt nur eine Fehlermeldung :-(
result = getDataFromURL("http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=EUR&ToCurrency=CHF");
System.out.println(result);

result = getDataFromURL("http://www.webservicex.net/geoipservice.asmx/GetGeoIP?IPAddress=192.41.150.10");
System.out.println(result);
</run>