Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habs soeben auch versucht, doch bekomm ich die Exception:
[Fatal Error] :1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at test.View.readXMLFile(View.java:161)
at test.View.createPartControl(View.java:91)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:599)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:318)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:542)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:185)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:265)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:64)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:479)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1262)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1215)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1614)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:659)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:585)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:573)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:269)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:980)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2627)
at org.eclipse.ui.internal.WorkbenchWindow$26.run(WorkbenchWindow.java:3077)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:3058)
at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:763)
at org.eclipse.ui.internal.Workbench$19.runWithException(Workbench.java:1267)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:207)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:1053)
at org.eclipse.ui.internal.StartupThreading.runWithWorkbenchExceptions(StartupThreading.java:55)
at org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:1263)
at org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:2062)
at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1993)
at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:188)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:790)
at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1641)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:207)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:1053)
at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:110)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1636)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2655)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at test.Application.createUI(Application.java:17)
at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:73)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:211)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:88)
at java.lang.Thread.run(Thread.java:680)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)
Der Java-Code sieht so aus:
Java:
String filename = System.getProperty("user.home")+"/Desktop/daten.xml";
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(new InputSource( new StringReader( filename ) ));
XPathExpression expr = XPathFactory.newInstance().newXPath().compile("//item");
NodeList nodes = (NodeList) expr.evaluate(document, XPathConstants.NODESET);
List<DVDItem> dvditems = new ArrayList<DVDItem>();
for (int i = 0; i < nodes.getLength(); i++) {
NodeList n = nodes.item(i).getChildNodes();
DVDItem dvd = new DVDItem();
for (int j = 0; j < n.getLength(); j++) {
Node node = n.item(j);
if(node.getNodeType() == Node.ELEMENT_NODE){
if(node.getNodeName().equals("id")){
dvd.setId(node.getTextContent().trim());
}else if(node.getNodeName().equals("titel")){
dvd.setTitel(node.getTextContent().trim());
}else if(node.getNodeName().equals("laenge")){
dvd.setLaenge(node.getTextContent().trim());
}else if(node.getNodeName().equals("erschienen")){
dvd.setErschienen(node.getTextContent().trim());
}
}
}
dvditems.add(dvd);
}
builder.parse(new InputSource( new StringReader( filename ) ));
das ist sicherlich nicht das was du meintest
Du übergibst dem StringReader jetzt den String filenname, was jetzt für ihn dann der XMLString sein müsste und nicht der Pfad!
Probiere stattdessen mal