Ошибка при парсинге xml файла - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день! При парсинге xml файла возникает ошибка, при чем возникает по середине процесса Часть файла разбирает, а по середине возникает ошибка. Парсинг происходит методом DOM
Листинг программы
  1. package sample.Parser;
  2. import org.w3c.dom.*;
  3. import org.xml.sax.SAXException;
  4. import javax.xml.parsers.DocumentBuilder;
  5. import javax.xml.parsers.DocumentBuilderFactory;
  6. import javax.xml.parsers.ParserConfigurationException;
  7. import java.io.IOException;
  8.  
  9. public class XML_Parser {
  10. private DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  11. private DocumentBuilder documentBuilder = factory.newDocumentBuilder();
  12. public XML_Parser() throws ParserConfigurationException {}
  13. public void parse (String path) throws IOException, SAXException {
  14. Document document = documentBuilder.parse(path);
  15. String Fam;
  16. String Name;
  17. String Otch;
  18. String SerDoc;
  19. String NumDoc;
  20. String DateV;
  21. String CodP;
  22. NodeList nodeList = document.getElementsByTagName("СведФЛИП");
  23. for (int i=0; i<nodeList.getLength(); i++){
  24. Element element = (Element) nodeList.item(i);
  25. Fam = element.getElementsByTagName("Фам").item(0).getChildNodes().item(0).getNodeValue();
  26. Name = element.getElementsByTagName("Имя").item(0).getChildNodes().item(0).getNodeValue();
  27. Otch = element.getElementsByTagName("Отч").item(0).getChildNodes().item(0).getNodeValue();
  28. SerDoc = element.getElementsByTagName("СерияДок").item(0).getChildNodes().item(0).getNodeValue();
  29. NumDoc = element.getElementsByTagName("НомДок").item(0).getChildNodes().item(0).getNodeValue();
  30. DateV = element.getElementsByTagName("ДатВыдачиДок").item(0).getChildNodes().item(0).getNodeValue();
  31. CodP = element.getElementsByTagName("КодПодр").item(0).getChildNodes().item(0).getNodeValue();
  32. System.out.println(Fam+ " "+Name+ " "+Otch+ " "+SerDoc+ " "+NumDoc+ " "+DateV+" "+CodP);
  33. }
  34.  
  35. }
  36. }
Листинг программы
  1. ОШИБКА
  2. Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  3. at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
  4. at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
  5. at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
  6. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
  7. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
  8. at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
  9. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
  10. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  11. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  12. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  13. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  14. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  15. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  16. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  17. at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
  18. at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
  19. at javafx.event.Event.fireEvent(Event.java:198)
  20. at javafx.scene.Node.fireEvent(Node.java:8413)
  21. at javafx.scene.control.Button.fire(Button.java:185)
  22. at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
  23. at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
  24. at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
  25. at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
  26. at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
  27. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
  28. at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
  29. at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
  30. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
  31. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  32. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  33. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  34. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  35. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  36. at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  37. at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  38. at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
  39. at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
  40. at javafx.event.Event.fireEvent(Event.java:198)
  41. at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
  42. at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
  43. at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
  44. at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
  45. at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
  46. at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
  47. at java.security.AccessController.doPrivileged(Native Method)
  48. at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
  49. at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
  50. at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
  51. at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
  52. at com.sun.glass.ui.View.notifyMouse(View.java:937)
  53. at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  54. at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
  55. at java.lang.Thread.run(Thread.java:748)
  56. Caused by: java.lang.reflect.InvocationTargetException
  57. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  58. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  59. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  60. at java.lang.reflect.Method.invoke(Method.java:498)
  61. at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
  62. at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
  63. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  64. at java.lang.reflect.Method.invoke(Method.java:498)
  65. at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
  66. at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
  67. ... 52 more
  68. Caused by: java.lang.NullPointerException
  69. at sample.Parser.XML_Parser.parse(XML_Parser.java:36)
  70. at sample.Controller.handleButtonAction(Controller.java:64)
  71. ... 62 more

Решение задачи: «Ошибка при парсинге xml файла»

textual
Листинг программы
  1. Caused by: java.lang.NullPointerException
  2.     at sample.Parser.XML_Parser.parse(XML_Parser.java:36)//ошибка NullPointerExeption в 36 строке, класса Xml_Parser

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы