Ошибка при парсинге xml файла - Java
Формулировка задачи:
Добрый день!
При парсинге xml файла возникает ошибка, при чем возникает по середине процесса
Часть файла разбирает, а по середине возникает ошибка.
Парсинг происходит методом DOM
Листинг программы
- package sample.Parser;
- import org.w3c.dom.*;
- import org.xml.sax.SAXException;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import java.io.IOException;
- public class XML_Parser {
- private DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- private DocumentBuilder documentBuilder = factory.newDocumentBuilder();
- public XML_Parser() throws ParserConfigurationException {}
- public void parse (String path) throws IOException, SAXException {
- Document document = documentBuilder.parse(path);
- String Fam;
- String Name;
- String Otch;
- String SerDoc;
- String NumDoc;
- String DateV;
- String CodP;
- NodeList nodeList = document.getElementsByTagName("СведФЛИП");
- for (int i=0; i<nodeList.getLength(); i++){
- Element element = (Element) nodeList.item(i);
- Fam = element.getElementsByTagName("Фам").item(0).getChildNodes().item(0).getNodeValue();
- Name = element.getElementsByTagName("Имя").item(0).getChildNodes().item(0).getNodeValue();
- Otch = element.getElementsByTagName("Отч").item(0).getChildNodes().item(0).getNodeValue();
- SerDoc = element.getElementsByTagName("СерияДок").item(0).getChildNodes().item(0).getNodeValue();
- NumDoc = element.getElementsByTagName("НомДок").item(0).getChildNodes().item(0).getNodeValue();
- DateV = element.getElementsByTagName("ДатВыдачиДок").item(0).getChildNodes().item(0).getNodeValue();
- CodP = element.getElementsByTagName("КодПодр").item(0).getChildNodes().item(0).getNodeValue();
- System.out.println(Fam+ " "+Name+ " "+Otch+ " "+SerDoc+ " "+NumDoc+ " "+DateV+" "+CodP);
- }
- }
- }
Листинг программы
- ОШИБКА
- Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
- at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
- at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
- at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
- at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
- at javafx.event.Event.fireEvent(Event.java:198)
- at javafx.scene.Node.fireEvent(Node.java:8413)
- at javafx.scene.control.Button.fire(Button.java:185)
- at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
- at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
- at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
- at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
- at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
- at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
- at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
- at javafx.event.Event.fireEvent(Event.java:198)
- at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
- at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
- at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
- at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
- at java.security.AccessController.doPrivileged(Native Method)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
- at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
- at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
- at com.sun.glass.ui.View.notifyMouse(View.java:937)
- at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
- at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
- at java.lang.Thread.run(Thread.java:748)
- Caused by: java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
- at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
- at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
- ... 52 more
- Caused by: java.lang.NullPointerException
- at sample.Parser.XML_Parser.parse(XML_Parser.java:36)
- at sample.Controller.handleButtonAction(Controller.java:64)
- ... 62 more
Решение задачи: «Ошибка при парсинге xml файла»
textual
Листинг программы
- Caused by: java.lang.NullPointerException
- at sample.Parser.XML_Parser.parse(XML_Parser.java:36)//ошибка NullPointerExeption в 36 строке, класса Xml_Parser
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д