entidad externa en XML causando excepción de puntero nulo durante DocumentBuilder.parse ( “archivo”);
-
11-09-2019 - |
Pregunta
Yo estaba tratando de analizar un documento XML utilizando DOM analizador.
Tengo excepción de puntero nulo durante la ejecución de doc = builder.parse (xmlDataFile);
Hubo pocas entidades en el archivo de datos XML. En la eliminación de una entidad en particular, yo era capaz de analizar el archivo con éxito
La entidad fue algo como esto
<!ENTITY SAMPLE.TIF SYSTEM "SAMPLE.TIF" NDATA TIF>
¿Cuál podría ser la razón?
EDIT:
Este es el código:
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);
Esta es la traza:
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 puntos número de línea para -> doc = builder.parse (xmlDataFile);
Solución
Solución . Pero el motivo del error es realmente desconocida como la solución nunca se declara lo que salió mal. : (
Otros consejos
Este es un error en Xerces que se fija con la versión 2.9.1
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow