Uploaded image for project: 'Community Development'
  1. Community Development
  2. COMDEV-4

External entity in XML causing null pointer exception during DocumentBuilder.parse

    XMLWordPrintableJSON

Details

    • Question
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None

    Description

      I was trying to parse a XML Document using DOM Parser.

      I got null pointer exception while executing doc = builder.parse(xmlDataFile);

      There were few entities in the XML data file. On removing a particular entity, i was able to parse the file successfully

      The entity was some thing like this

      <!ENTITY SAMPLE.TIF SYSTEM "SAMPLE.TIF" NDATA TIF>

      What could be the reason?

      EDIT:

      Here is the code:

      DocumentBuilderFactory aFactory = DocumentBuilderFactory.newInstance();
      aFactory.setValidating(false);
      aFactory.setFeature("http://xml.org/sax/features/namespaces", false);
      aFactory.setFeature("http://apache.org/xml/features/validation/schema", false);
      aFactory.setIgnoringComments(true);
      builder = aFactory.newDocumentBuilder();
      doc = builder.parse(xmlDataFile);
      This is the trace:

      at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.setChunkIndex(DeferredDocumentImpl.java:1944)
      at com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl.appendChild(DeferredDocumentImpl.java:644)
      at com.sun.org.apache.xerces.internal.parsers.AbstractDOMParser.characters(AbstractDOMParser.java:1191)
      at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.characters(XMLDTDValidator.java:862)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:463)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
      at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
      at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
      at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)
      at XMLParser.Parse(XMLParser.java:89)
      at Main.main(Main.java:116)

      89 line number points to -> doc = builder.parse(xmlDataFile);

      Attachments

        Issue Links

          Activity

            People

              rgardler Ross Gardler
              sri_kumar_4u sri kumar
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: