Hallo zusammen,
ich möchte einige Daten aus link entnehmen. Im Forum habe ich mit JDOM ein interessanten Lösungsvorschlag gefunden: link. Das wollte ich mal ausprobieren. Wenn ich die XML-Datei lokal (im gespeicherten Zustand im Dateisystem) auslese funktionierts, über eine URL erhalte ich diese Exception:
Das ist mein Java Code:
Danke im Voraus...
ich möchte einige Daten aus link entnehmen. Im Forum habe ich mit JDOM ein interessanten Lösungsvorschlag gefunden: link. Das wollte ich mal ausprobieren. Wenn ich die XML-Datei lokal (im gespeicherten Zustand im Dateisystem) auslese funktionierts, über eine URL erhalte ich diese Exception:
Java:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Ungültiges Byte 2 von 4-Byte-UTF-8-Sequenz.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:473)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1750)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1071)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:935)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:436)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:253)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2715)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1141)
at reader.Reader.main(Reader.java:24)
Das ist mein Java Code:
Java:
package reader;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
public class Reader {
public static void main(String[] args) {
try {
URL url = new URL("http://www.google.com/ig/api?weather=berlin&hl=de");
Document document = null;
SAXBuilder builder = new SAXBuilder();
try {
document = builder.build(url);
// document = builder.build(new File("/home/spree/Arbeitsfläche/wetter.xml"));
} catch (JDOMException e) {
System.out.println("Fehler");
e.printStackTrace();
}
Element root = document.getRootElement();
System.out.println(root.getName());
List<Element> list = root.getChildren();
Element el=root.getChild("weather");
List <Element> el2=el.getChildren();
for (Element a : el2) {
System.out.println(a);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Danke im Voraus...
Zuletzt bearbeitet: